2010-06-15 4 views
0

im пытается передать POST (перекрестный домен) некоторые данные на веб-службу jersey и получить ответ (объект GenericEntity). Сообщение успешно получает отображаются на мой джерси конечный однако, когда я вытаскивать параметры из запроса они пусты ..Передача параметров запроса из jQuery в службу джерси с использованием json

$ .ajax({ 
    type: "POST", 
    dataType: "application/json; charset=utf-8", 
    url: jerseyNewUserUrl+'?jsoncallback=?', 
    data:{'id':id, 'firstname':firstname,'lastname':lastname}, 
    success: function(data, textStatus) { 
    $('#jsonResult').html("some data: " + data.responseMsg); 
      }, 
    error: function (XMLHttpRequest, textStatus, errorThrown){ 
    alert('error'); 
    } 
    }); 

это мой джерси конечная точка ..

@POST 
    @Produces({ "application/x-javascript", MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 
    @Path("/new") 
    public JSONWithPadding addNewUser(@QueryParam("jsoncallback") 
    @DefaultValue("empty") 
    final String argJsonCallback, @QueryParam("id") 
    final String argID, @QueryParam("firstname") 
    final String argFirstName, @QueryParam("lastname") 
    final String argLastName) 

там что-то не хватает от моего $ .ajax call?

ответ

1

Попробуйте это:

$ .ajax({ 
    type: "POST", 
    dataType: "jsonp", 
    jsonp: "fooCallBackFunction", 
    url: jerseyNewUserUrl, 
    data:{'id':id, 'firstname':firstname,'lastname':lastname}, 
    success: function(data, textStatus) { 
    $('#jsonResult').html("some data: " + data.responseMsg); 
      }, 
    error: function (XMLHttpRequest, textStatus, errorThrown){ 
    alert('error'); 
    } 
    }); 
+0

нет, все равно возвращается пустой Params в моей конечной точке, я я настройка объекта JSON правильно? Я не могу видеть ничего другого – cduggan

+0

@ccduga, мне очень жаль. Честно говоря, я никогда не пользовался Джерси, и мне кажется, что ваш код jQuery в порядке. Я надеялся, что смогу победить в этом. Еще одна попытка попробовать. Попробуйте мое последнее обновление для ответа. – orokusaki

1

вы не можете использовать @QueryParam для получения значений. U может использовать объект для извлечения значений. Как и

@POST 
@Produces({ "application/x-javascript", MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML}) 
@Path("/new") 
public void addNewUser(User user){ 
    //NB User has to have the following field names id', firstname,lastname 
}