我有一个数组:
$result = array('statusAlert' => 'Your input was validated'
'input' => $input); // $input is a string
json_encode($result);
在jQuery中,我想分别提醒"状态警报"和"输入"?如何访问它们?
我尝试了alert(result.statusAlert)
,alert(result[0])
,alert(result.statusAlert[0])
但没有一个奏效。
编辑
我正在尝试在 jQuery 中 ajax()
的"成功"回调函数中执行此操作
当我提醒(结果)时,我得到:
{"statusAlert":"Your input was validated","input":"this is the string input"}
更改.ajax()
请求以包含dataType:'json'
。
您是否在$.ajax
参数中指定了dataType: 'json'
?
假设您已经使用了 jQuery $.getJSON
或 $.ajax
函数,但它仍然不起作用,那么您的结果应该是一个数组,而不是一个对象,就像您在 PHP 中将其创建为数组一样。您将希望将其阅读为:
alert(result['statusAlert']);
和
alert(result['input']);
如果你有一个像这样的有效 json
。'{"statusAlert":"Your input was validated","input":"this is the string input"}'
你可以得到这样的值
jsonObj.statusAlert
jsonObj.input
这是示例 http://jsfiddle.net/kfrTz/8/
您可以使用 http://jsonlint.com/来验证您的 jSon 格式是否正确。
将 json
指定为 ajax 请求中的数据类型值将确保响应以json
格式返回成功回调。
$.ajax({
url:"yourserverpage.php",
datatype='json',
success: function(data) {
alert(data.statusAlert);
}
});