博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
$.ajax通路RESTful Web Service一个错误:Unsupported Media Type
阅读量:7201 次
发布时间:2019-06-29

本文共 1469 字,大约阅读时间需要 4 分钟。

最近项目,使用头版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
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;	}		});

调用的服务的时候报错:Unsupported Media Type。通过HttpWatch查看原始的request和response报文。发现返回request报文中的contentType是:application/x-www-form-urlencoded。查看jquery.ajax()的API文档,发现contentType的默认值就是:application/x-www-form-urlencoded。

 

可是后台公布的rest服务。@Consumes("application/json")要求request报文的contentType必须是application/json

手动设置contentType之后,发现问题解决。

$.ajax({	url : "/myapp/rest/track/trackInBatch/",	async:false,	type : "POST",	dataType:"json",	contentType:"application/json",	data:[],	error:function(XMLHttpRequest, textStatus, errorThrown){		alert(errorThrown);	},	success: function(data, textStatus){		outResponse = data;	}		});

 

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
drf 富文本编辑器上传的图片路径问题
查看>>
工作记录--WPF自定义控件,实现一个可设置编辑模式的TextBox
查看>>
【LeetCode每天一题】Validate Binary Search Tree(有效的二叉搜索树)
查看>>
git学习笔记
查看>>
高手教你恢复误删文件的秘籍
查看>>
接口服务中的日志
查看>>
MyCAT部署及实现读写分离(转)
查看>>
多个(子)进程的开启,进程的常用属性和方法
查看>>
netty入门05
查看>>
python 局部变量和全局变量
查看>>
CSS样式
查看>>
推荐算法——非负矩阵分解(NMF)
查看>>
javascript中if和switch,==和===详解
查看>>
python写api接口测试之tonador
查看>>
ibatis初识
查看>>
hdu 1950 Bridging signals
查看>>
poj - 1442 Black Box
查看>>
js replaceChild
查看>>
个人简介
查看>>
Ubuntu卡在Logo界面
查看>>