Получить Sol: r JSON с $ .ajax - PullRequest
       5

Получить Sol: r JSON с $ .ajax

0 голосов
/ 16 сентября 2011

Я хочу получить свой JSON-результат из запроса sol: r, но всегда получаю сообщение об ошибке.

Вот код:

$.ajax({
        url: 'http://' + url + '/solr/select',
        type: 'POST',
        data: 'indent=on&version=2.2&q=name:pzn&start=0&rows=10&fl=name&qt=&wt=json',
        dataType: 'jsonp',
        success: function (data, textStatus, xhr) {
            var str = eval("("+data+")");
            $("#results").html('raw JSON: ' + str);
            },
        error: function(jqXHR, textStatus, errorThrown) {
            alert(textStatus + ": " + errorThrown);
            }
    });

В моем журнале я вижу, что запрос был обработан sol: r и отправил json обратно.Но все, что я получаю, - это ошибка типа «jQuery15204679577243202049_1316167632724 не был вызван».Не очень полезно, но консоль Firebug говорит, что в ответе есть недопустимая метка и просто показывает мне первую строку JSON 'responseHeader: {'

Но я получаю весь JSON обратноЕдинственное, что не работает, он просто не даст мне: D

Как мне решить эту проблему?

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Пожалуйста, посмотрите на это сообщение в блоге SOLR с JSONP с jQuery . Автор показывает несколько различных способов вызова Solr с помощью jQuery Ajax.

Обновление: Как обработать результат ..

Вы можете сделать следующее, чтобы получить доступ к результирующему необработанному объекту JSON ...

$.getJSON(mySolrUrl, function(data) {
// data is bound to the result json
   alert("Found " + data.response.numFound + " documents.");
   alert("First document name field is: " + data.response.docs[0].name);
});

Кроме того, еще раз посмотрев на ваш вопрос, я не уверен, что вы хотите / должны выполнить ajax POST, поскольку ajax GET должен возвращать те же результаты. И пример, который я только что добавил, только делает ajax GET.

0 голосов
/ 17 сентября 2011

Вы можете использовать функцию getJson напрямую, чтобы получить ответ json от Solr. Обязательно добавьте json.wrf =? параметр для URL запроса, поэтому вызывается метод успеха.

Подробнее @ http://wiki.apache.org/solr/SolJSON#JSON_specific_parameters

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