Проблема в разборе данных json, полученных через $ .getJSON - PullRequest
0 голосов
/ 24 июня 2011

Когда я использую данные JSON, получаю:

$.getJSON("http://192.168.1.9:8983/solr/db/select/?wt=json&&start=0&rows=100&q="+elegant+"&hl=true&hl.fl=description&hl.usePhraseHighlighter=true&json.wrf=?", function(newresult){

и использовать эти данные JSON как

$.each(newresult.highlighting, function(i, hitem){
        alert(hitem.description[0]);

});

тогда я не получаю значение поля описания.

Но когда я назначаю целые данные в переменной, скажем newresult, а затем запускаю $.each(), она работает, как я это делал в http://jsfiddle.net/taL8x/1/. Пожалуйста, скажите мне, в чем проблема, когда я использую данные через getJSON().

Ответы [ 2 ]

0 голосов
/ 24 июня 2011

Если проходящая строка в alert, newresult.highlighting должен быть объектом или массивом. тогда это не проблема политики одного и того же происхождения. И вы указываете json.wrf=? для обратного вызова. Возможно, вы пропустили структуру элемента в массиве подсветки. может быть. Попробуйте получить доступ к директории и подтвердите структуру массива. Вы ожидаете:

{
"highlighting": [ { "description" : "foo" }, { "description" : "bar" } ]
}

Но это может быть

{
"highlighting": { "A001" : { "description" : "foo" }, "A002" : { "description" : "bar" } }
}
0 голосов
/ 24 июня 2011

Ваш запрос, вероятно, остановлен той же политикой происхождения. Если служба находится по другому URL-адресу, вам придется использовать JSONP .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...