我使用PHP将数组编码为JSON字符串,如下所示:
$price['price'] = "20";
$price = json_encode($price)
return $price;
因此,当我访问脚本时,我会收到以下数据:
{"price":"20"}
这是我的jQuery / Javascript代码:
$("#form_pickupDate_day").change(function()
{
var frm = $(document.form);
var data = JSON.stringify(frm.serializeArray());
$.ajax
({
method: "POST",
url: "script.php",
data: {json : data },
dataType: 'json',
cache: false,
success: function(json)
{
var obj = JSON.parse(json);
$("#form_price").val(obj.price);
}
});
});
我在Firefox中遇到的错误:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
答案 0 :(得分:6)
指定dataType: 'json'
的重点是jQuery将为您解析结果。您的json
可变已包含JavaScript对象。你不需要解析它两次。
你也不应该称它为“json”,因为那时它不是JSON:
success: function(data) {
$("#form_price").val(data.price);
}