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