[英]Uncaught SyntaxError: Unexpected token o - JSON.Parse
我知道这个问题在这里已经提出过很多次了,但是我无法弄清楚代码的错误。 我收到此错误“未捕获的SyntaxError:意外令牌o”
这是我的ajax代码:
$.ajax({
type: "POST",
url: "json-http-server.aspx/GetDoctors",
data: '',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: myFunction,
failure: function (response) {
alert("AJAX error");
}
});
这是我的函数,它将解析返回的数据:
function myFunction(response) {
var arr = JSON && JSON.parse(response) || $.parseJSON(response);
var out = "";
out += "<table border='1'>";
out += "<tr><th>Title</th>";
out += "<th>Name</th>";
out += "<th>Gender</th>";
out += "<th>Address</th>";
out += "<th>Hospital</th></tr>";
for (var i = 0; i < arr.length; i++) {
out += "<tr>";
out += "<td>";
out += arr[i].Title;
out += "</td>";
out += "<td>";
out += arr[i].Name;
out += "</td>";
out += "<td>";
out += arr[i].Gender;
out += "</td>";
out += "<td>";
out += arr[i].Address;
out += "</td>";
out += "<td>";
out += arr[i].Hospital;
out += "</td>";
out += "</tr>";
}
out += "</table>";
document.getElementById("OutputDiv").innerHTML = out;
}
这是我从Web服务返回的JSON数据:
'[{
"Title":"Univ. Prof. Dr.",
"Name":"John",
"Gender":"Doe",
"Address":"Washington DC, USA",
"Hospital":"Washington General Hospital"
}
{
"Title":"Univ. Prof. Dr.",
"Name":"Billy",
"Gender":"Joe",
"Address":"California, USA",
"Hospital":"AKH Univ-Kl.f.Innere Med. II"
}
{
"Title":"Univ. Prof. Dr.",
"Name":"Alex",
"Gender":"Haize",
"Address":"Michigan, 2500, USA",
"Hospital":"Rheuma-SKA Baden der SVA der gew. Wirtschaft"
}]'
var arr = JSON && JSON.parse(response) || $.parseJSON(response);
在填充response
之前,已经解析了JSON。
(jQuery将在两种情况下执行此操作:如果您指定dataType: 'json'
(您可以这样做),或者如果您未指定dataType并且服务器说响应为JSON(应该这样做))。
你是(隐含的)将其转换为字符串( "[object Object]"
),并试图解析为JSON(它不是)。
删除该行。
您的JSON数据无效, }
和{
之间缺少逗号( ,
)。
固定:
'[{
"Title":"Univ. Prof. Dr.",
"Name":"John",
"Gender":"Doe",
"Address":"Washington DC, USA",
"Hospital":"Washington General Hospital"
},
{
"Title":"Univ. Prof. Dr.",
"Name":"Billy",
"Gender":"Joe",
"Address":"California, USA",
"Hospital":"AKH Univ-Kl.f.Innere Med. II"
},
{
"Title":"Univ. Prof. Dr.",
"Name":"Alex",
"Gender":"Haize",
"Address":"Michigan, 2500, USA",
"Hospital":"Rheuma-SKA Baden der SVA der gew. Wirtschaft"
}]'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.