-1

SAPUI5 から SAP ゲートウェイへの手動 OData 呼び出しが必要です (データ バインディングなし)。

そのために、次のコードを使用しています。

oModel.read("/ZTestSet"),  
    null,null,false, function(oData, oResponse){
       alert("success");
    },
    function(oError ){
       alert("error");
} 

SAP システムでデバッグしました。電話を受け、et_entityset必要なデータを入力しました。

問題は、コールバックとしてトリガーされる関数がないことです。成功もエラーもありません (ゲートウェイまたは他の誰かにエラーが見つかりません)。

ブラウザーの開発者ツールでの応答:

HEADERS:
     
Request Method:GET
Status Code:200 OK
     
RESPONSE HEADERS:
cache-control:no-store, no-cache
Connection:keep-alive
content-encoding:gzip
Content-Length:827
Content-Type:application/atom+xml; charset=utf-8
dataserviceversion:2.0
Date:Tue, 05 Apr 2016 12:08:34 GMT
Proxy-Connection:keep-alive
sap-metadata-last-modified:Tue, 05 Apr 2016 10:06:59 GMT

REQUEST HEADERS:
Accept:application/atom+xml,application/atomsvc+xml,application/xml
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US
Cache-Control:no-cache
DataServiceVersion:2.0

RESPONSE:
<feed xmlns="http://www.w3.org/2005/Atom" 
 xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xml:base="<<ADDRESS>>">
  <id><<ADDRESS>></id>
  <title type="text"><<FUNCTION>></title>
  <updated>2016-04-05T12:08:34Z</updated>
  <author>
    <name />
  </author>
  <<LIST OF ENTRIES>>
</feed>

呼び出しに成功したようです。

4

2 に答える 2

0

ばかげた間違いです。

URL の後の括弧を閉じました。最後のパラメーターの後に自然に閉じる必要があります。私の場合、エラー関数の後。

正しいコード:

oModel.read("/ZTestSet", null, null, false, function(oData, oResponse) {
  alert("success");
}, function(oError){
  alert("error");
});
于 2016-04-06T06:14:05.730 に答える
0

以下のデバッガー行を成功呼び出しとエラー呼び出しの両方に配置し、ブラウザーでトリガーされるかどうかを確認します。oModel.read は非同期呼び出しであり、応答を待たず、サーバーからの応答のいずれかを受信した後にのみ成功またはエラー メソッドをトリガーします。そのため、待っていると、何も起きていないように見えるかもしれません。

              debugger;
于 2016-04-05T18:29:48.880 に答える