因为我没有定义。我哪里失败了?
代码:
function add(id,cost){ var info = { "id" : id, "cost": cost, }; $.ajax({ data: info, url: 'a.php', type: 'post', success: function (datos) { alert(datos+"\n r1: "+datos.r1+"\n r2:"+datos.r2); } }); }
存档a.php PHP:
$cost=$_POST['id']*$_POST['cost'] + 137; echo json_encode(array("r1" =>$_POST['id'], "r2" => $cost));
最佳答案
您为什么认为 $.ajax
会将 datos
理解为 JSON?您需要指定它,可以使用多种方法来完成。
解析它
success: function (datos) {
datos = JSON.parse(datos);
alert(datos+"\n r1: "+datos.r1+"\n r2:"+datos.r2);
}
在 $.ajax
本身中指定
$.ajax({
data: info,
url: 'a.php',
type: 'post',
dataType:"json",
....
在 PHP 中设置 header (不适用于 < IE8)
header('Content-Type: application/json');
我建议您结合使用第一个和第三个。我们要不遗余力。
关于javascript - UNDEFINED - 来自 PHP 和 jQuery AJAX 的多个返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34520549/