0

現在、 http://services.odata.org/V4/ (S(jskq43fsvrxbzaf2jzhboo13))/OData/OData.svc/Products のパブリック OData フィードを使用して、crud アプリの簡単なデモを実行しようとしています。

データの GET は機能しますが、ボタンをクリックしてもデータを更新できず、501 (実装されていません) エラーが発生します。CORSを有効にする必要性に対処していると思います。私のフィドルを見てください。前もって感謝します!

var requestSettings = {
  url: "http://services.odata.org/V3/(S(ettihtez1pypsghekhjamb1u))/OData/OData.svc/Products(" + key + ")",
  method: "POST",
  headers: {
    "X-Http-Method": "PATCH",
    'accept': "application/json;odata=verbose"
  },
  'contentType': "application/json; charset=utf-8", //content-length not required
  datatype: 'json',
  data: JSON.stringify(values),
  success: function updateSuccess() {
    deferred.resolve();
    alert("successful update");
  },
  error: function updateError() {
    deferred.reject();
    alert("un-successful update");
  }
};

$.ajax(requestSettings);

ここに JSFiddle があります: https://jsfiddle.net/jf713jf/ybLg1b4h/4/

4

1 に答える 1

0

OData サービスにアクセスするためのロジックを提供するDevExpress.data.ODataStoreの使用を検討してください。

OData サービスの 4 番目のバージョンを使用しているため、ODataStore コンストラクター オプションは次のようになります。

new DevExpress.data.ODataStore({
    url: "http://services.odata.org/V4/(S(jskq43fsvrxbzaf2jzhboo13))/OData/OData.svc/Products",
    key: "ID",
    keyType: "Int32",
    version: 4,

    // To overcome the cross-origin issue
    jsonp: true
});

それが役に立てば幸い。

于 2015-06-24T09:55:31.500 に答える