我正在使用像这样的jquery进行简单的获取
var jqxhr = $.get("http://localhost/path/list", function() {
alert("success");
}, "json")
.done(function() { alert("second success"); })
.fail(function(jqXHR, textStatus, errorThrown){
console.dir(jqXHR);
}
);
服务器返回状态为200的以下JSON。我能够将其解析为有效的json,就像我能够在这里做的那样:http://www.freeformatter.com/json-formatter.html。但总是调用fail方法。如果我将dataType更改为“text”,则调用success方法。所以我假设jquery无法将响应解析为有效的json。可能有什么不对?
{
'root': {
'status': [
{
'Entity': 'user',
'InstanceId': '1',
'ModifiedAt': 'null',
'ModifiedBy': 'null',
'CreatedAt': 'null',
'CreatedBy': '1',
'Status': 'approval',
'AssignedFor': 'null',
'AssignedTo': '1',
'PatternName': 'approval'
},
{
'Entity': 'user',
'InstanceId': '2',
'ModifiedAt': 'null',
'ModifiedBy': 'null',
'CreatedAt': 'null',
'CreatedBy': '1',
'Status': 'start',
'AssignedFor': 'null',
'AssignedTo': '1',
'PatternName': 'input'
}
],
'count': 2
}
}
答案 0 :(得分:0)
你以什么方式序列化JSON?并将单引号转换为双引号
{
"root": {
"status": [
{
"Entity": "user",
"InstanceId": "1",
"ModifiedAt": "null",
"ModifiedBy": "null",
"CreatedAt": "null",
"CreatedBy": "1",
"Status": "approval",
"AssignedFor": "null",
"AssignedTo": "1",
"PatternName": "approval"
},
{
"Entity": "user",
"InstanceId": "2",
"ModifiedAt": "null",
"ModifiedBy": "null",
"CreatedAt": "null",
"CreatedBy": "1",
"Status": "start",
"AssignedFor": "null",
"AssignedTo": "1",
"PatternName": "input"
}
],
"count": "2"
}}