发布AJAX API Javascript SAPUI5失败

问题描述 投票:-1回答:2

我想在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);
    }
}); 

错误:

enter image description here

我已经用dataType=text或数据更改代码:{nomorDosir: "01001961288", kodeCabang: "A02"}(没有stringify),但我还没有找到解决方案。如何解决这个问题?

谢谢。鲍比

javascript jquery ajax sapui5
2个回答
1
投票

不确定您的用例是什么,但如果您尝试发布到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();

0
投票

你有什么是错误的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);
    }
}); 
© www.soinside.com 2019 - 2024. All rights reserved.