1
HTTP状态415我送含JSON对象“POST”请求经由ko.toJSON
方法从我Knockout观察到转化成JSON。我发送它使用Amplify。获取发送POST请求泽西RESTful服务
这是我的扩增出设置:
amplify.request.define('addContract', 'ajax', {
url: '/api/contractmanager/contracts/create',
dataType: 'json',
type: 'POST'
});
这是我dataservise
的方法来添加数据:
addContract = function (callbacks, data) {
return amplify.request({
resourceId: 'addContract',
data: data,
success: callbacks.success,
error: callbacks.error
});
};
下面是我实际发送请求:
contracts.addData = function (contractModel, callbacks) {
var contractModelJson = ko.toJSON(contractModel);
return $.Deferred(function (def) {
dataservice.contract.addContract({
success: function (dto) {
if (!dto) {
logger.error('Error saving!');
if (callbacks && callbacks.error) { callbacks.error(); }
def.reject();
return;
}
},
error: function (response) {
logger.error('Error saving!');
if (callbacks && callbacks.error) { callbacks.error(); }
def.reject(response);
return;
}
}, contractModelJson);
}).promise();
};
对于后端,我使用的REST风格的Web服务为Jersey。
问题是,只要我发送请求,我就会得到一个“HTTP状态415 - 不支持的媒体类型”,我的服务器GlassFish说:“服务器拒绝了这个请求,因为请求实体的格式不支持所请求方法的请求资源(不支持的介质类型)“。
我是否需要设定任何特定的这个工作?我错过了什么吗?
如果将数据类型设置为“application/json”,会发生什么情况? – condit 2013-03-18 14:16:34