我是Ajax的新手。我做了一个Ajax调用,Json就像:
[{"id":"4","item_name":"Chalk","unit_price":"2"}]
现在我想在行中打印item_name和unit_price,所以我写了下面的代码:
jQuery(document).ready(function() {
var cnt = 1;
jQuery('#addItem').on('click', function() {
jQuery("#items").show();
var item_id = jQuery('#classlist1').val();
jQuery.ajax({
type: 'GET',
url: 'index.php?option=com_notifint&task=getIteminfo&format=raw&tmpl=component&item_id='+item_id,
success: function(data) {
console.log(data)
alert(data);
var json_x = jQuery.parseJSON(JSON.stringify(data));
var iname = json_x['item_name']
alert(iname);
jQuery("#items tbody:first").append('<tr class="item-row"><td>' + cnt + '</td><td>' + iname + '</td><td><class="cost">' + uprice + '</td><td><input class="qty" value="0" /></td><td><span class="price">0</span></td><td><div class="delete-wpr"><a class="delete" href="javascript:;" title="Remove row">X</a></div></td></tr>');
cnt++;
}
});
});
});
但是它的值是空白的 所以请告诉我解决方案。 提前Taks。
答案 0 :(得分:2)
json_x
是一个数组,您需要将其编入索引:
var iname = json_x[0].item_name;
此外,请勿拨打JSON.stringify(data)
,因为响应已采用JSON格式。它应该是:
json_x = jQuery.parseJSON(data);
答案 1 :(得分:0)
也许你应该尝试:
var json_x = JSON.Parse(data);
答案 2 :(得分:-1)