Javascript 如何更新services.OData.org上的公共读写OData提要?

Javascript 如何更新services.OData.org上的公共读写OData提要?,javascript,jquery,devexpress,odata,devextreme,Javascript,Jquery,Devexpress,Odata,Devextreme,我目前正在尝试使用公共OData提要在上获得一个crud应用程序的简单演示 GET ting数据工作正常,但是我无法通过单击按钮更新数据,并出现501(未实现)错误。我相信它涉及到启用CORS的需要。请看我的小提琴。提前谢谢 var请求设置={ url:“http://services.odata.org/V3/(S(ettihtez1pypsghehjamb1u))/OData/OData.svc/Products(“+key+”), 方法:“张贴”, 标题:{ “X-Http-Method

我目前正在尝试使用公共OData提要在上获得一个crud应用程序的简单演示

GET ting数据工作正常,但是我无法通过单击按钮更新数据,并出现501(未实现)错误。我相信它涉及到启用CORS的需要。请看我的小提琴。提前谢谢

var请求设置={
url:“http://services.odata.org/V3/(S(ettihtez1pypsghehjamb1u))/OData/OData.svc/Products(“+key+”),
方法:“张贴”,
标题:{
“X-Http-Method”:“补丁”,
“接受”:“应用程序/json;odata=verbose”
},
“contentType”:“application/json;charset=utf-8”,//不需要内容长度
数据类型:“json”,
数据:JSON.stringify(值),
成功:函数updateSuccess(){
延迟。解决();
警报(“成功更新”);
},
错误:函数updateError(){
拒绝();
警报(“未成功更新”);
}
};
$.ajax(请求设置)考虑使用提供访问OData服务逻辑的

由于您正在使用第四个版本的OData服务,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
});

希望能有帮助。

谢谢,但那不行。我切换到使用ODataStore,但我仍然在控制台中遇到相同的501错误。请查看我在上面发布的JSBin。谢谢我知道。这是因为OData的人现在只为第四版和WebAPI版本工作。因此,我建议您在最新版本的OData4服务上测试代码,例如:TripPin服务。看一看:好的,我现在正在使用这项服务。现在,当我发送更新时,我得到“请求的资源上不存在“Access Control Allow Origin”头。因此,不允许访问源“”。响应的HTTP状态代码为400。”如果我包括“Access-Control-Allow-Origin”:“响应是:请求头字段Access-Control-Allow-Headers不允许访问控制允许源。请欣赏小提琴,但是我刚打开它,当我尝试发送更新时,它也得到了同样的400错误。@ JONFRIEDMAN对我来说很好:如果其他人与TrimPin服务有相同的CORS问题:请考虑用