2014-01-27 2 views
1

Я пытаюсь использовать $ .getJSON (Jquery 2) для вызова веб-сервиса по адресу:

http://localhost:8080/ws/family/1 

Это веб-сервис работает при вводе его в браузере. Я использую плагин Jetty Maven, поэтому нет контекстного корня. Моя страница находится по адресу:

http://localhost:8080/view/index.html 

Вот мой Javascript (Edited):

var getFamily = function() { 
     return $.getJSON({ 
      url: "/ws/family/1" 
     }); 
    }; 

Я получаю следующее сообщение об ошибке:

GET http://localhost:8080/view/[object%20Object] 404 (Not Found) 

не имеет базовый тег в моей странице ,

+3

Так в основном сервер сообщает вам, что на этом URL-адресе есть * ничего *, как в «Not Found», и URL-адрес размещен прямо там, с большим '[object% 20Object]' в нем, и вам интересно, что неправильно с вашим javascript? – adeneo

+0

Похоже, что ваш 'familyId' - это объект, а не просто строковое значение. И косая черта после '/ ws/family', похоже, тоже отсутствует. – CBroe

ответ

6

В отличие от, например, $.ajax (docs), $.getJSON (docs) не ожидает, что объект в качестве параметра - он ожидает, что URL-адрес в виде строки - например:

return $.getJSON("/ws/family" + familyId); // Correct 

Поскольку вы передаете объект:

return $.getJSON({ url: "/ws/family" + familyId }); // Wrong 

... Javascript преобразует все это в строку, получая стандартный результат object.toString(): «[object Object]».

Что означает, что ваши объемы вызовов на:

return $.getJSON("[object Object]"); 

Вот почему ваш запрос идет к:

HTTP: // локальный: 8080/вид/[объект% 20Object]

+0

Я изменил URL-адрес на «/ ws/family/1». Тот же результат. Работает веб-сервис. Я могу ввести http: // localhost: 8080/ws/family/1 в браузер и получить ответ – badgerduke

+2

Вы всегда получите тот же результат, пока вы передаете объект $ .getJSON, а не строку - независимо от того, какую строку вы помещаете внутри объекта, конечным результатом будет «[object Object]». См. Сравнение в отредактированном ответе. @Daedalus: Исправлено, спасибо. :-) – JimmiTh

+0

Теперь я ничего не пропускаю. Я изменил свой url на «/ ws/family/1» – badgerduke

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