【问题标题】:CORS with SPServices + jQuery带有 SPServices + jQuery 的 CORS
【发布时间】:2014-05-15 16:12:35
【问题描述】:

我需要从移动设备上的不同域访问共享点列表。这是我的代码,一个简单的获取请求:

$.support.cors = true;

$(function() {
$().SPServices({
    operation: "GetListItems",
    webURL: "http://myurl.com/project/",
    listName: "PM-Registration",
    CAMLQuery: '<Query></Query>',
    error: function (xhr, message, error) {
          alert('error : ' + error);
    },
    completefunc: function (xData, status) {
        alert('Status: '+status+' xdata: ' + xData.statusText);
        alert('RESPONSE: ' + xData.responseText);
    }
});
});

问题似乎是 CORS 阻止了请求,但我通常之前启用它。 如果我使用以下命令,它可以与 Chrome 完美配合:--args --disable-web-security,以及 Safari 桌面,但不适用于 Firefox 和 Safari iOS... 我在没有禁用网络安全的情况下在 Chrome 上收到错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource

我错过了什么吗?我猜这是一个客户端问题,因为它可以在没有网络安全和 Safari 桌面的情况下与 Chrome 一起使用

【问题讨论】:

  • 我遇到了同样的错误,你能找到任何解决方案吗,它在 IE 中完美运行,但在其他浏览器中没有。
  • 我会回答我的问题

标签: javascript jquery ajax sharepoint spservices


【解决方案1】:

我会回答我的问题。

即使在 IE 上运行,在 Chrome 上使用特定命令,这是服务器端设置的安全问题,只有服务器可以通过修改 Access-Control-Allow-Origin 来更改它

我没有找到从客户端避免此 CORS 问题的解决方法。我的解决方案是将我的 HTML 页面移动到与我的 SharePoint 相同的域中。我现在有我的 SharePoint:www.mysharepoint.com,还有我的移动 web 应用程序 www.mysharepoint.com/mobile/index.html

【讨论】:

猜你喜欢
  • 2012-09-02
  • 2016-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-24
  • 2016-05-20
相关资源
最近更新 更多