在 Jquery 中,如何向 JSON 对象的一部分发出警报?我得到“未定义”


in Jquery, how can I alert one part of a JSON object? I get "undefined"

我有一个数组:

$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);
   }
 });