虽然这似乎是一个常见的错误,但SO上的其他类似问题都没有向我揭示解决方案。所以,让我分享一下我的代码。
客户端HTML / jQuery:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="Scripts/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
function DisplayJSON() {
$.getJSON("Test1.ashx")
.done(function (p) {
alert(p.FirstName + ' ' + p.LastName);
})
.fail(function (x, textStatus, error) {
alert("Get JSON failed, status: " + textStatus + ", error: " + error);
});
}
</script>
</head>
<body>
<input type="button" name="btnTest" value="Get JSON" onclick="DisplayJSON();" />
</body>
</html>
服务器端HTTP处理程序.NET / C#(Test1.ashx):
public class Test1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Person p = new Person()
{
FirstName = "Angela",
LastName = "Smith",
Gender = "F",
BirthYear = 2009
};
// to serialize an object to string
string jsonText = fastJSON.JSON.ToJSON(p);
context.Response.ContentType = "application/json";
context.Response.Write(jsonText);
}
public bool IsReusable
{
get
{
return false;
}
}
}
public class Person
{
public string LastName { get; set; }
public string FirstName { get; set; }
public int BirthYear { get; set; }
public string Gender { get; set; }
}
当我尝试检索JSON内容时,它总是失败,状态为“parseerror”,错误为“SyntaxError:Invalid character”。我看了看,我只是找不到罪魁祸首。如果我在我的服务器端代码中放置一个断点,它永远不会被击中,所以看起来getJSON调用没有正确形成,但我只是没有看到它有什么问题。希望其他人可以指出我做错了什么。
更新:错误图片
答案 0 :(得分:0)