Ajax响应成功,但无法使用数据(Uncaught SyntaxError:Unexpected identifier)

时间:2013-12-17 20:08:04

标签: javascript jquery ajax json eval

我正在尝试使用ajax调用从Web服务检索数据。调用成功,因为我能够使用console.log()在控制台中成功打印数据。但是,当我尝试获取数据并将字符串转换为数组时,代码将失败。我目前正在尝试使用eval,但也尝试使用JSON.parse。两者都失败,错误为未捕获的SyntaxError:意外的标识符。关于如何解决这个问题的任何想法?

$.ajax({
    type: "POST",
    url: (redacted)
    data: (redacted)
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        console.log(response.d);
        var data =  eval("[" + response.d + "]");

这是我的代码失败的地方。就像我说的那样,console.log(response.d)工作,输出类似于:{'code':'1234','description':'Record 1'},{'code':'1234',' description':'Record 2'},{'code':'1234','description':'Record 3'}

我的问题是使用eval吗?任何意见都将非常感谢

1 个答案:

答案 0 :(得分:0)

首先,我会在此使用JSON.parse()代替eval来解码JSON字符串。

但是在这种情况下我相信返回数据已经被jQuery解码了。 console.log(response.d)返回一个漂亮的对象而不是“{...} ....”字符串是否正确?

相关问题