我一直在尝试将字符串数组发送到一个宁静的服务而没有任何运气。我写了这个
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getBackgroundImages(@QueryParam("missions") String[] missions,
@QueryParam("objects")String[] objects,
@QueryParam("dates")String[] dates) {
........
return generateTxt();
}
在javascript方面我有这个
var missions = new Array("One", "Two");
var objects = new Array("objOne" ,"objTwo");
var dates = new Array("1967-11-07","1977-12-17");
$.ajax({
url: "myurl/rest/UploadBackgroundFile/",
data: {'missions':missions,'objects':objects,'dates':dates},
success: function (data) {
arr = JSON.parse(data);
$('.container-fluid').css('background-image','url('+arr[0].img+')');
}
});
我的问题是这不起作用,我得到了这个例外
org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable org.glassfish.jersey.server.model.ModelValidationException:应用程序初始化期间应用程序资源模型的验证失败。 [[致命]没有找到类型参数的注入源 public java.lang.String UploadBackgroundFile.getBackgroundImages(java.lang.String [],java.lang.String [],java.lang.String [])
如果我将参数更改为普通字符串并从javascript端发送字符串,则方法将起作用。
所以问题是如何从jquery ajax发送和接收字符串数组到jersey restful方法。
问候,
ES
答案 0 :(得分:2)
服务器端,您必须将字符串数组更改为List<String>
才能使其正常工作。
客户端,您可以看到this 来帮助您发送数据。我知道它的标题是写PHP,但它解释得很好。