2017-05-26 3 views
0

私はタスクを追跡している共有ポイントのリストを持っています。電子を使用してクロスオリジンリソースにアクセスする

私はこのリストを毎分ping(http取得要求)する電子アプリケーションを作成しようとしており、現在のユーザーが割り当てたすべてのタスクを小さなウィンドウで表示して新しいタスクを強調表示します。

私は次のようにリストにアクセスするフェッチAPIを使用しています。しかし、私は満たされたリスト名と、このリクエストを送信するときに、私が取得

read('listname',data => { 
    console.log(data); 
}) 

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)) 
     }) 
} 

その他のモジュールを次 enter image description here enter image description here

今、私は、これはCORSとは何かを持っていると仮定します。私が知りたいことは、これを稼働させる方法があるかどうかです。

電子で必要とされることは非常に明白です。

はまた、私は任意の助けがここに高く評価され

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

に我々-好みのプロパティを設定しました。 これが可能でないなら、私は本当に驚くばかりですので、うまくいけば私は馬鹿になっています!

編集:レスポンスはenter image description here

答えて

3

あなたは古いwebPreferences構文を使用しているクロム上のRestletクライアントからの照会時に、あなたのコンストラクタは、この提案を

mainWindow = new BrowserWindow({ 
    width: 800, 
    height: 600, 
    frame: true, 
    webPreferences: { 
     webSecurity: false 
    } 
}); 
+0

ねえ、おかげで:)になっているはずです - まだ401を無認可にする。 –

+0

401権限がないのはクライアントサイドをバイパスできるものではなく、CORS保護やiframeサンドボックスルールなどの機能を無効にします。 401応答はサーバー側で生成されるため、サーバーが必要とする何らかの種類の認証トークンが不足している可能性があります。 – MarshallOfSound

+0

こんにちは、ありがとう - 私はクロムのための残りのクライアントでこのリクエストを試してみましたが、それはうまく動作します。 OP –

関連する問題