Подтвердить что ты не робот

Как вызвать веб-службу из jQuery

Я хочу вызвать веб-сервис из jQuery. Как я могу это сделать?

4b9b3361

Ответ 1

Вы можете сделать запрос AJAX, как и любые другие запросы:

$.ajax( {
type:'Get',
url:'http://mysite.com/mywebservice',
success:function(data) {
 alert(data);
}

})

Ответ 2

EDIT:

OP не хотел использовать междоменные запросы, но jQuery поддерживает JSONP с версии 1.5. См. jQuery.ajax(), в частности параметр crossDomain.

Обычные jQuery Ajax-запросы не будут работать на разных сайтах, поэтому, если вы хотите запросить удаленный веб-сервис RESTful, вам, вероятно, придется сделать прокси-сервер на своем сервере и запросить его с помощью запроса jQuery get, См. этот сайт для примера.

Если это веб-служба SOAP, вы можете попробовать плагин jqSOAPClient.

Ответ 4

У людей, у которых такая проблема, как я, после ответа Марвана Ауиды... у кода есть небольшая опечатка. Вместо "успеха" он говорит, что "sucess" меняет правописание, и код работает нормально.

Ответ 5

В Java это возвращаемое значение не выполняется с помощью jQuery Ajax GET:

return Response.status(200).entity(pojoObj).build();

Но это работает:

ResponseBuilder rb = Response.status(200).entity(pojoObj);
return rb.header("Access-Control-Allow-Origin", "*").build();

----

Полный класс:

@Path("/password")
public class PasswordStorage {
    @GET
    @Produces({ MediaType.APPLICATION_JSON })
    public Response getRole() {
        Contact pojoObj= new Contact();
        pojoObj.setRole("manager");

        ResponseBuilder rb = Response.status(200).entity(pojoObj);
        return rb.header("Access-Control-Allow-Origin", "*").build();

        //Fails jQuery: return Response.status(200).entity(pojoObj).build();
    }
}