我正在尝试使用JSON将PHP数组提供给jQuery但是没有太多运气。
$(".add-size").click(function(event) {
$("#is_ajax").val('true');
var dataString = 'ID=' + $("#product_ID").val() + '&size=' + $(this).val() + '&is_ajax=' + $("#is_ajax").val();
$.getJSON( "../bin/func/actions/add.action.php", dataString, function(data) {
$("#runningQuantity").text(data.runningQuantity);
$("#runningTotal").text(data.runningTotal);
});
event.preventDefault();
});
是jQuery运行不佳。
$list['runningTotal'] = $runningTotal;
$list['runningQuantity'] = $runningQuantity;
echo json_encode( $list );
是add.action.php中的相关PHP,它创建的字符串似乎格式正常。例如:
{"runningTotal":90,"runningQuantity":18}
但#runningTotal或#runningQuantity都没有发生任何事情,他们只是保持不变?我可能完全忽略了这一点。
答案 0 :(得分:0)
Per Jquery的Documentation要发送到服务器的数据必须是键值对。你可以做以下两件事之一:
$.getJSON( "../bin/func/actions/add.action.php", {Id : $("#product_ID").val(), .....}, function(data) {
$("#runningQuantity").text(data.runningQuantity);
$("#runningTotal").text(data.runningTotal);
});
或 通过添加?将数据字符串添加到URL所以它变成了一个查询字符串。
$.getJSON( "../bin/func/actions/add.action.php?" + datastring, function(data) {
$("#runningQuantity").text(data.runningQuantity);
$("#runningTotal").text(data.runningTotal);
});
HTH