Mac*_*Mac 6 jquery parsing json
我不知道为什么,但是$.parseJSON在进行ajax调用时我遇到了一个问题,我需要检查响应是否包含JSON然后继续解析它$.parseJSON,如果它不包含任何JSON那么它将打印out元素中的响应(响应将包含一些HTML).
然后,我测试了是否eval会做任何事情,当然这样做,但我不想eval用于此.
我得到的代码:
$.ajax({
url: 'ajax.php',
success: function(response)
{
var msg = $.parseJSON(response);
//alert(typeof(response)); <-- returns 'string'
//alert(typeof(msg)); <-- returns 'object'
//alert(msg.error); <-- this doesn't work at all.
//eval(response) <-- returns [object Object]
if(msg.error !== '')
{
ajaxWindow.html(msg.error);
}
else
{
ajaxWindow.html(response).hide().slideDown('slow');
}
}
});
Run Code Online (Sandbox Code Playgroud)
那么为什么它无法解析JSON字符串呢?jQuery.parseJSON清楚地说:
获取格式良好的JSON 字符串并返回生成的JavaScript对象.
但是没有什么能够被解析,这是某种错误,还是一个错误?
编辑: JSON:
[{"error":"Error loading template"}]
Run Code Online (Sandbox Code Playgroud)
你有一个数组,所以你需要通过第一个索引访问它.
代替:
alert( msg.error );
Run Code Online (Sandbox Code Playgroud)
做:
alert( msg[0].error );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7594 次 |
| 最近记录: |