我正在尝试使用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吗?任何意见都将非常感谢
答案 0 :(得分:0)
首先,我会在此使用JSON.parse()
代替eval
来解码JSON字符串。
但是在这种情况下我相信返回数据已经被jQuery解码了。 console.log(response.d)
返回一个漂亮的对象而不是“{...} ....”字符串是否正确?