使用电子访问跨源资源

Mar*_*ary 2 sharepoint-2010 cors electron

我有一个关于sharepoint的列表,我正在跟踪任务.

我正在尝试创建一个电子应用程序,每分钟左右ping(http get request)此列表并显示一个包含当前用户已分配的所有任务的小窗口并突出显示新任务.

我使用fetch API访问列表,如下所示:

const _COLLAB_ROOT = "http://company.com/projects/team-site/_vti_bin/listdata.svc/"

export function read(list, callback) {
    const myHeaders = new Headers({
        "Accept": "application/json",
        'Authorization': 'Basic '+btoa('username:password'),
        'Access-Control-Allow-Origin': '*'
    });
    const myInit = {
        method: 'GET',
        headers: myHeaders,
        mode: 'no-cors'
    }
    fetch(_COLLAB_ROOT+list,myInit)
        .then(response => {
            if (response.ok) {
                response.json().then(data => {
                    callback(data.d);
                });
            }
            return Promise.reject(Error('error'))
        }).catch(error => {
            return Promise.reject(Error(error.message))
        })
}
Run Code Online (Sandbox Code Playgroud)

其他模块:

read('listname',data => {
  console.log(data);
})
Run Code Online (Sandbox Code Playgroud)

但是,当我发送此请求并填写列表名称时,我得到以下内容: 在此输入图像描述 在此输入图像描述

现在我假设这与CORS有关.我想知道的是,有没有办法让这个工作?

电子似乎需要非常明显的东西.

我还将we-preferences属性设置为

mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    frame: true,
    'web-preferences': {'web-security': false}
  });
Run Code Online (Sandbox Code Playgroud)

这里有任何帮助.如果不可能,我会感到非常惊讶,所以希望我是愚蠢的!

编辑:从Chrome上的Restlet客户端查询时的响应在此输入图像描述

Mar*_*und 10

你正在使用旧的webPreferences语法,你的构造函数应该看起来像这样:)

mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    frame: true,
    webPreferences: {
        webSecurity: false
    }
});
Run Code Online (Sandbox Code Playgroud)