将参数数据从JQuery / Ajax调用传递给Jersey Web服务

时间:2015-06-09 11:12:14

标签: java jquery ajax jersey

            $.ajax({url:"http://localhost:8080/TestApp/resources/Test",
                type:"GET",
                data:userName :"userName",
                cache: false,
                success:function(result){   
                    alert(result);
                },
            });

上面是我用来调用服务的JQuery代码。如何将userName参数添加到

    @GET
    @Produces("text/html")
    public String getHtml() {

        return "Hello ";
    }

类似于servlet中的request.getParameter("")。在我的低估@QueryParam中,@PathParam@FormParam用于不同目的,或者可用于获取参数。 (我已经尝试了所有三个并且失败了)。如果我做错了,请纠正我。

  

RuntimeException无法映射到响应,重新投掷到   HTTP容器com.sun.jersey.api.container.ContainerException:   获取参数的异常   com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:54)     在   com.sun.jersey.server.impl.model.method.dispatch.Abs​​tractResourceMethodDispatchProvider $ EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:137)     在   com.sun.jersey.server.impl.model.method.dispatch.Abs​​tractResourceMethodDispatchProvider $ TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:165)     在   com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:70)     在   com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:279)     在   com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:86)     在   com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)

是否进行了更改并获得了上述异常。

1 个答案:

答案 0 :(得分:1)

data属性必须是普通的js对象,String或数组(参见http://api.jquery.com/jquery.ajax/

因此,在您的代码中,数据元素应该是

data:{userName:'UserName'}