Ожидается parseerror jQuery getJSON ';'
Используя IE8, jQuery 1.6.1.min.js.
JSON, полученный из службы REST, кажется действительным (по крайней мере, когда я проверяю его на jsonlint.com)
{
"requestId":"1624517264",
"acknowledge":1,
"errorCode":0,
"totalResultCount":2,
"results":[
{"EmployeeCode":"007","EmployeeUno":7,"EmployeeName":"Bond, James","Location":"Unknown","Login":"JBOND"},
{"EmployeeCode":"008","EmployeeUno":8,"EmployeeName":"Bar, Foo","Location":"NYC","Login":"FBAR"}
]}
JQuery:
$.getJSON(urlToSvc + "&callback=?", function (data) {
// can't get to here
});
Я получаю ошибку JavaScript Ожидается ';'. Что я делаю неправильно?
2 ответа
Если это именно тот ответ от urlToSvc, то похоже, что вы делаете запрос JSONP, но urlToSvc возвращает простой JSON.
Если вы используете такой инструмент, как Firebug, чтобы проверить запрос, $.getJSON()
делает, вы должны найти, что он заменяет callback=?
с чем-то вроде callback=jQuery152012865984649397433_1306892572812
, Это означает, что jQuery ожидает, что JSON будет возвращен в качестве параметра для вызова функции jQuery152012865984649397433_1306892572812()
, Вот как он подключает вашу функцию обратного вызова за кулисами.
В этом случае ответ должен выглядеть примерно так (хотя точное имя функции будет меняться при каждом запросе, указанном callback
параметр строки запроса):
jQuery152012865984649397433_1306892572812('{"requestId":"1624517264","acknowledge":1,"errorCode":0,"totalResultCount":2,"results":[{"EmployeeCode":"007","EmployeeUno":7,"EmployeeName":"Bond, James","Location":"Unknown","Login":"JBOND"},{"EmployeeCode":"008","EmployeeUno":8,"EmployeeName":"Bar, Foo","Location":"NYC","Login":"FBAR"}]}')
JSON выглядит корректно. Рассмотрим возможность того, что трассировка является неточной и что это фактически является синтаксической ошибкой в функции обратного вызова. Также убедитесь, что эти данные являются фактически полученными данными - например, если URL-адрес немного не совпадает, возможно, вы пытаетесь проанализировать страницу ошибки. Сетевые вкладки Chrome или Firebug отлично подходят именно для этого.