我正在向我的 jQuery 函数脚本返回一个 JSON 数组,但似乎无法使语法正确——即使在这里阅读了大约十几个不同的示例。
这是调用 jQuery ajax 函数:
$.ajax({
url: "fetchAlleles.php",
datatype: 'json',
data: {'mndx': mndx, 'sndx': sndx },
success: function(rtnval) {
alert("success: allele_1="+rtnval['allele_1']+", allele_2="+rtnval['allele_2']);
//alert(rtnval);
},
error: function() { alert('Error!'); }
});
这是返回值的 PHP 代码:
echo "{";
echo "allele_1: ", json_encode($ary[0]), "\n";
echo "allele_2: ", json_encode($ary[1]), "\n";
echo "run_date: ", json_encode($ary[2]), "\n";
echo "}";
如果我使用我的警报调试语句,我可以看到返回的是我所期望的:
{allele_1: "440"
allele_2: "480"
run_date: null
}
但是我尝试读取 JSON 对象中的值的其他任何内容都会返回“未定义”,无论是
alert("success: allele_1="+rtnval['allele_1']+", allele_2="+rtnval['allele_2']);
或者
alert("success: allele_1="+rtnval.allele_1+", allele_2="+rtnval.allele_2);
或者
alert("success: allele_1="+rtnval['allele_1'][0]+", allele_2="+rtnval['allele_2'][0]);
希望有人能提供帮助——这太令人恼火了!(希望 JSON 语法更明显!)
非常感谢,里克斯特