JSON.parse中的字符无效(result.responseText);

时间:2013-06-17 17:24:55

标签: java javascript ajax servlets extjs

我正在返回一个如下所示的字符串:

[{"name":"John","age":"21","gender":"m"}]

然后执行:

JSON.parse(result.responseText);

将数据放入网格控件中。它在FF中工作正常。在IE中,我的字符串如下所示:

[{\"name\":\"John\",\"age\":\"21\",\"gender\":\"m\"}]

和斜杠没有被处理,我的JSON.parse(result.responseText)无法给我无效字符错误。为什么我在浏览器之间有不同的响应以及如何解决此问题?我正在发布完整的电话。

    Ext.Ajax.request({
        url : 'PersonServlet',
        method: 'POST',                   
        params :{'id': id},

        success: function ( result, request ) {
            resultData = JSON.parse(result.responseText);
            store.removeAll();
            store.add(resultData);

        },
        failure: function ( result, request ) {
            resultData = JSON.parse(result.responseText);
        }   
    });

1 个答案:

答案 0 :(得分:1)

尝试使用 http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.JSON 而不是本机JSON解析器。希望你会得到更一致的行为。