我正在使用cxf web-service,我需要使用ajax调用从另一个域访问数据..
我的服务方法看起来像
@POST
@Path("/addService")
@Produces("application/json")
@Consumes("application/json")
public Response addService(com.cyn.slon.model.dto.Service service) {
log.debug("___ inside addService ___");
//business method call....
return null;
}
我正在使用来自其他域的简单ajax调用...
function test() {
var jsonForServ = new Object();
jsonForServ.name = "name1";
jsonForServ.description = "descripnnnnn";
jsonForServ.price = 20;
alert(JSON.stringify(jsonForServ));
$.ajax({
url: "/Slon/services/bookservice/addService",
type: 'POST',
dataType: 'application/json;',
contentType: "application/json;",
data: JSON.stringify(jsonForServ), processData:false,
success: function(data) {
alert('Success');
},
error:function(data,status,er) {
alert("error: "+data+" status: "+status+" er:"+er);
}
});
}
我使用jaxson来解析json .. 但它没有访问服务方法..
答案 0 :(得分:0)
spring框架不支持简单的ajax调用来调用Web服务方法。
我们可以使用覆盖弹簧安全性的jsonp。
但是jsonp只支持发帖请求。
因此不太方便。
另一种选择是使用过滤器来避免这种情况。