2013-06-19 4 views
0

Я довольно новичок в JS, и у меня возникла проблема при попытке отправить запрос GET на мой сервер с помощью вызова ajax. Сервер получает запрос и выполняет корректный прием, а вызов ajax преуспевает (выполняет функцию пресечения), но ответ имеет значение null. GET работает без проблем при тестировании в Postman.Ajax GET-запрос имеет значение null при успешном завершении

Ajax вызовов:

url = "http://localhost:8080/EmployeeLookup/SearchServlet?search=test" 
$.ajax({ 
    url: url, 
    type: 'GET', 
    success: display, 
    error: function(xhr,status,error){ alert(status); }, 
}); 

Запрос направляется на тот же сервер, который подается эту страницу, так что нет какой-либо проблемы с Access-Control-Allow-Origin.

Любая помощь будет оценена по достоинству.

Заранее спасибо.

Edit:

функция дисплея: Просто проверяю, если оно равно нулю на данный момент. Тестирование с помощью === также возвращает true.

function display(json) { 
    if(json == null) { 
     $("#text").replaceWith(json); 
    } else { 
     $("#text").replaceWith("Response was null. "); 
    } 
} 

JSON, который отправляется обратно выглядит примерно так:

{ 
    "seachResult": "someresult" 
} 
+1

показать нам, как вы обрабатываете ответ. –

+1

Что такое 'display'? –

+0

Это запрос на перекрестный поиск? Получать запросы не требуются предполетные запросы, но по-прежнему зависит от Access-Control-Allow-Origin – Musa

ответ

2

Вы всегда должны указать свой тип данных, так что Jquery будет последовательно разобрать его правильно.

// the http portion is not needed for same-domain requests 
var url = "/EmployeeLookup/SearchServlet?search=test" 
$.ajax({ 
    url: url, 
    type: 'GET', 
    dataType: 'json', 
    success: display, 
    error: function(xhr,status,error){ alert(status); }, 
}); 

function display(json) { 
    console.log(json); 
} 

Тестирование, если данные были возвращены собирается взять больше, чем тестирование, если она равна нулю, то НИКОГДА не будет нулевым, если вы используете JQuery 1.9+ и JSON DATATYPE.

+0

Чтобы предложить правильный способ тестирования без данных, нам нужно будет увидеть пример ваших данных с результатами и без результатов. –

+0

Я попытался установить dataType в json и ответ по-прежнему равен нулю. Требует ли ajax что-то особенное в заголовке, чтобы заставить его принять тело ответа? –

+0

Нет. Как выглядит ваш ответ? –

Смежные вопросы