我想在SAPUI5 javascript中使用POST方法和AJAX,但我发现了一个错误。
var url = "https://xxxx*xxxx.co.id:8877/TaspenSAP/SimpanDosirPunah";
$.ajax({
type: "POST",
url: url,
data: JSON.stringify({
nomorDosir: "01001961288",
kodeCabang: "A02"
}),
dataType: "json",
async: false,
contentType: 'application/json; charset=utf-8',
success: function(data, textStatus, xhr){
console.log("sukses: " + data + " " + JSON.stringify(xhr));
},
error: function (e,xhr,textStatus,err,data) {
console.log(e);
console.log(xhr);
console.log(textStatus);
console.log(err);
}
});
错误:
我已经用dataType=text
或数据更改代码:{nomorDosir: "01001961288", kodeCabang: "A02"}
(没有stringify),但我还没有找到解决方案。如何解决这个问题?
谢谢。鲍比
不确定您的用例是什么,但如果您尝试发布到oData
服务,使用SAP createEntry
方法可能要容易得多,其中URL是您要发布到的模型的路径,而您的JSON是属性:
var oModel = new sap.ui.model.odata.v2.ODataModel("https://services.odata.org/V2/OData/OData.svc/");
//oModel should use your service uri
var url = "https://xxxx*xxxx.co.id:8877/TaspenSAP/SimpanDosirPunah";
oModel.createEntry(url, {
properties: {
nomorDosir: "01001961288",
kodeCabang: "A02"
}
}, {
method: "POST",
success: function(response) {
alert(JSON.stringify(response));
//do something
},
error: function(error) {
alert(JSON.stringify(error));
}
});
oModel.submitChanges();
你有什么是错误的json
格式,你有:
data: JSON.stringify({nomorDosir: "01001961288", kodeCabang: "A02"}),
实际应该是:
data: {"nomorDosir": "01001961288", "kodeCabang": "A02"},
然后你不需要做json.stringify
,因为它已经是一个json格式。希望这会帮助你。
您还可以尝试在外部设置变量,如下所示:
var url = "https://xxxx*xxxx.co.id:8877/TaspenSAP/SimpanDosirPunah";
var json = {"nomorDosir": "01001961288", "kodeCabang": "A02"};
$.ajax({
type: "POST",
url: url,
data: json,
dataType: "json",
async: false,
contentType: 'application/json; charset=utf-8',
success: function(data, textStatus, xhr){
console.log("sukses: "+data+" "+JSON.stringify(xhr));
},
error: function (e,xhr,textStatus,err,data) {
console.log(e);
console.log(xhr);
console.log(textStatus);
console.log(err);
}
});