1

我有一个数组:

$result = array('statusAlert' => 'Your input was validated'
                 'input' => $input); // $input is a string

json_encode($result);

在 jQuery 中,我想分别提醒 'statusAlert' 和 'input' 吗?我如何访问它们?

我试过alert(result.statusAlert), alert(result[0])alert(result.statusAlert[0])但没有一个奏效。

编辑

我试图ajax()在 jQuery的“成功”回调函数中做到这一点

当我提醒(结果)时,我得到:

{"statusAlert":"Your input was validated","input":"this is the string input"}
4

3 回答 3

1

你在参数中指定dataType: 'json'$.ajax吗?

假设你有并且你已经使用了 jQuery$.getJSON$.ajax函数并且它仍然无法工作,那么你的结果应该是一个数组,而不是一个对象,因为你在 PHP 中将它创建为一个数组。你会想把它读成:

alert(result['statusAlert']);

alert(result['input']);
于 2012-04-11T02:19:19.767 回答
1

更改您的.ajax()请求以包括dataType:'json'.

于 2012-04-11T02:22:31.950 回答
1

如果你有一个像这样的有效 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 格式是否正确。

在 ajax 请求中指定json为数据类型值将确保响应以json格式返回到成功回调。

$.ajax({
   url:"yourserverpage.php",
   datatype='json',
   success: function(data) {
      alert(data.statusAlert);
   }

 });
于 2012-04-11T02:29:23.443 回答