[英]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.