【发布时间】:2015-11-11 06:04:37
【问题描述】:
虽然这似乎是一个常见错误,但关于 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 调用没有正确形成,但我只是没有看到它有任何问题。希望其他人能指出我做错了什么。
更新:错误图片
【问题讨论】:
-
所以,只需检查您从服务器获得的字符串
-
能否提供解析错误的截图?
-
显然调用甚至没有到达服务器,因为我在服务器代码第一行的断点没有到达。
-
我的意思是浏览器中的错误,SyntaxError: Invalid character 我认为这是来自控制台?
-
您是否尝试过此代码以查看它是否适合您?
标签: jquery .net getjson ashx parse-error