$.ajax访问RESTful Web Service报错:Unsupported Media Type
发布时间:2020-12-16 02:10:23 所属栏目:百科 来源:网络整理
导读:最近在项目中,前台页面使用jquery ajax访问后台CXF发布的rest服务,结果遇到了错误"Unsupported Media Type"。 发布的服务java代码如下: import javax.jws.WebService;import javax.ws.rs.Consumes;import javax.ws.rs.GET;import javax.ws.rs.POST;import
最近在项目中,前台页面使用jquery ajax访问后台CXF发布的rest服务,结果遇到了错误"Unsupported Media Type"。 发布的服务java代码如下: import javax.jws.WebService; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; @WebService @Produces({ "application/json" }) public class TrackService { @POST @Path("/trackInBatch/") @Consumes("application/json") public Response postTrackInfoInBatch(List<TrackPosition> positions) { return retrieve(positions,clientGen,trafficMapLayerId,projectParaLayerId,"0"); } } 调用服务的javascript代码如下: $.ajax({ url : "/myapp/rest/track/trackInBatch/",async:false,type : "POST",dataType:"json",data:[],error:function(XMLHttpRequest,textStatus,errorThrown){ alert(errorThrown); },success: function(data,textStatus){ outResponse = data; } });
但是后台发布的rest服务,@Consumes("application/json")要求request报文的contentType必须是application/json。 手动设置contentType之后,发现问题解决。 $.ajax({ url : "/myapp/rest/track/trackInBatch/",contentType:"application/json",textStatus){ outResponse = data; } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |