簡體   English   中英

無法顯示Ajax值

[英]Can't display Ajax value

我的Ajax有問題,它無法顯示數據庫中的數據。

調節器

public function rating() {
 $rating = $this->db->select_avg('hasil_rating')
                    ->get('tb_rating')->row_array();
 echo json_encode($rating);
}

阿賈克斯

function rate() {
 $.ajax({
  type: 'POST',
  url: '<?php echo base_url()."rate/rating"?>',
  dataType: 'json',
  success: function(data) {
    $('#aaaa').val(data);
  }
});

輸入

<input id="aaaa" type="text" value="">

當我使用val() ,結果為[object Object] ;當我使用html() ,結果為 但是當我使用console.log(data)它可以工作。

只需將json對象轉換為字符串,它將起作用。

$('#aaaa').val(data.someVar);

例如,

var jsonVal = {val1:'one',val2:'two'};
alert(jsonVal); // it will print [object][object]
alert(jsonVal.val1); // one
alert(jsonVal.val2); // two
alert(JSON.stringify(jsonVal)) // it will print {val1:'one',val2:'two'}

希望對您有幫助。

您需要在ajax成功中首先解碼json。

用這個。

function rate() {
 $.ajax({
  type: 'POST',
  url: '<?php echo base_url()."rate/rating"?>',
  dataType: 'json',
  success: function(data) {
    var d = $.parseJSON(data);
    $('#aaaa').val(d.value);
  }
});

使用此功能,您可以訪問數據中的不同值,並在html中設置值。

更新

在您的控制器中,您可以使用json_encode返回值,例如

echo json_encode(array("success"=>true,"msg1"=>"test ajax","msg2"=>"test ajax 2"));

在ajax成功函數中,可以使用msg1的值

var d = $.parseJSON(data);
alert(d.msg1); //will return "test ajax"
alert(d.msg2); //will return "test ajax 2"

通過這種方式,您可以訪問json對象中的每個值。

您必須先使用$ .pasrseJSON才能使用數據

function rate() {
 $.ajax({
  type: 'POST',
  url: '<?php echo base_url()."rate/rating"?>',
  dataType: 'json',
  success: function(data) {
    data=$.parseJSON(data);
    $('#aaaa').val(data.var_name);
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM