javascript - 请引用我的以下代码。我想使用ajax在 View 中显示数据,但我收到错误[obect object]]

标签 javascript php json ajax codeigniter

这是我的 Controller ,我可以毫无问题地获取数据。

public function getSupplierByID(){$supplier_id = $this->input->post('supplier_id');
        if($supplier_id !=''){
            $data= $this->Supplier_model->getSupplierByid($supplier_id);
            echo json_encode($data);
         }
    }

这是我的 javascript

<script type="text/javascript" language="javascript">
$(document).ready(function () {
    $('#sel_supplier_name').change(function () {
        var supplier = $(this).val();

        $.ajax({
            url: "<?php echo base_url() . 'index.php/get/supplier'; ?>",
            type: "POST",
            data: "supplier_id=" + supplier,
            datatype: 'json',

            success: function (data) {
                //alert(data);
                //exit();
                alert($('#txt_contact_perName').val(data.contact_prsn_name));
                );
        });
    });
});

这就是我得到的回复。

[{"supp_id":"2","supplier_id":"3","products_id":"5","company_id":"5","power":"25","quantity":"300","rate":"52","min_level":"20","max_level":"200","CGST":"5%","SGST":"5%","total":"10000","added_date":"0000-00-00 00:00:00","updated_date":"0000-00-00 00:00:00","prefix":"Mr.","first_name":"abc","middle_name":"balaso","last_name":"tanugade","gender":"Male","contact_no":"123456789","email_id":"sangram@gmail.com","contact_prsn_name":"ssss","contact_prsn_no":"9158424290","address_line1":"por","address_line2":"xyz","country_id":"0","state_id":"0","city_id":"0","postal_code":"0","product_name":"EMLA cream","company_name":"Hindustan Antibiotics"},{"supp_id":"2","supplier_id":"3","products_id":"5","company_id":"5","power":"25","quantity":"300","rate":"52","min_level":"20","max_level":"200","CGST":"5%","SGST":"5%","total":"10000","added_date":"0000-00-00 00:00:00","updated_date":"0000-00-00 00:00:00","prefix":"Mr.","first_name":"abc","middle_name":"balaso","last_name":"tanugade","gender":"Male","contact_no":"123456789","email_id":"sangram@gmail.com","contact_prsn_name":"ssss","contact_prsn_no":"9158424290","address_line1":"por","address_line2":"xyz","country_id":"0","state_id":"0","city_id":"0","postal_code":"0","product_name":"EMLA cream","company_name":"Acadia Pharmaceuticals"}]

当我发出警报时,我收到[object object]错误。 请给我解决方案。 提前致谢。

最佳答案

您将在 alert(data); 上获取 [object object],因为数据是对象数组。

数据有 2 个元素,您可以使用 .forEach 循环每个元素

喜欢:

data.forEach(function(v) {
  console.log( v["contact_prsn_name"] );  
});

要访问数组的第一个元素,您可以

alert( data[0]["contact_prsn_name"] );
<小时/>

循环片段:

$(document).ready(function() {
  var data = [{
    "supp_id": "2",
    "supplier_id": "3",
    "products_id": "5",
    "company_id": "5",
    "power": "25",
    "quantity": "300",
    "rate": "52",
    "min_level": "20",
    "max_level": "200",
    "CGST": "5%",
    "SGST": "5%",
    "total": "10000",
    "added_date": "0000-00-00 00:00:00",
    "updated_date": "0000-00-00 00:00:00",
    "prefix": "Mr.",
    "first_name": "abc",
    "middle_name": "balaso",
    "last_name": "tanugade",
    "gender": "Male",
    "contact_no": "123456789",
    "email_id": "sangram@gmail.com",
    "contact_prsn_name": "ssss",
    "contact_prsn_no": "9158424290",
    "address_line1": "por",
    "address_line2": "xyz",
    "country_id": "0",
    "state_id": "0",
    "city_id": "0",
    "postal_code": "0",
    "product_name": "EMLA cream",
    "company_name": "Hindustan Antibiotics"
  }, {
    "supp_id": "2",
    "supplier_id": "3",
    "products_id": "5",
    "company_id": "5",
    "power": "25",
    "quantity": "300",
    "rate": "52",
    "min_level": "20",
    "max_level": "200",
    "CGST": "5%",
    "SGST": "5%",
    "total": "10000",
    "added_date": "0000-00-00 00:00:00",
    "updated_date": "0000-00-00 00:00:00",
    "prefix": "Mr.",
    "first_name": "abc",
    "middle_name": "balaso",
    "last_name": "tanugade",
    "gender": "Male",
    "contact_no": "123456789",
    "email_id": "sangram@gmail.com",
    "contact_prsn_name": "ssss",
    "contact_prsn_no": "9158424290",
    "address_line1": "por",
    "address_line2": "xyz",
    "country_id": "0",
    "state_id": "0",
    "city_id": "0",
    "postal_code": "0",
    "product_name": "EMLA cream",
    "company_name": "Acadia Pharmaceuticals"
  }];

  //This is how you update the div
  data.forEach(function(v) {
    $("#txt_contact_perName").append(v.contact_prsn_name);
    $("#txt_contact_perName").append("<br />");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="txt_contact_perName"></div>

关于javascript - 请引用我的以下代码。我想使用ajax在 View 中显示数据,但我收到错误[obect object]],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48838408/

相关文章:

java - 当 JSON 对象作为字符串文字插入时,MySQL JSON 列丢失小数精度

C# - 如何在变量名中使用无效字符

python - 如何使用networkx可视化任意json?

javascript - 如何在html页面加载后执行php代码

javascript - React.js 搜索栏始终获取相同的内容

javascript - 在播放粘性音频播放器时浏览网站

PHP 获取站点 URL 协议(protocol) - http 与 https

javascript - 使用静态 get 获取未定义

javascript - jQuery 链接和级联然后是什么时候

php - 如何在 twitter.com 之类的锁定图标后在 ssl 中添加我的域名