Хотя это, кажется, общая ошибка, ни один из других подобных вопросов на SO не показал мне решение. Поэтому позвольте мне поделиться своим кодом.jQuery .getJSON метод терпит неудачу с parseerror
стороне клиента 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 не сформирован должным образом, но я просто не вижу в этом ничего плохого. Надеюсь, кто-то еще может указать, что я делаю неправильно.
UPDATE: ошибка изображения
так, просто проверьте строку, что вы получаете с сервера – Grundy
можете ли вы предоставить скриншот с ошибкой синтаксического анализа? – Grundy
Очевидно, что вызов никогда не попадает на сервер, так как моя точка останова на первой строке кода сервера не достигнута. – PongGod