簡體   English   中英

使用Node運行的POST請求和使用React / Chrome發送的請求之間有什么區別?

[英]What's the difference between a POST request run with Node and a request sent with React/Chrome?

我正在測試Robinhood API,我要做的第一件事就是使用API​​登錄。 運行節點login.js時,我可以使用以下代碼登錄

var axios = require('axios')
axios.post('https://api.robinhood.com/api-token-auth/', {
      username: 'email@email.com',
      password: '********'
    }, {
       headers: {'Access-Control-Allow-Origin': '*'}
    }).then(function (response) {
        console.log(response.data);
    })

但是,當我在瀏覽器中使用React嘗試相同的代碼時,會收到No 'Access-Control-Allow-Origin'錯誤。 如果我在Chrome中啟用Access-Control-Allow-Origin ,則不會發生該錯誤,並且可以登錄。

我已經包含了Access-Contrl-Allow-Origin標頭。 問題似乎是Node和React / Chrome之間的差距?

允許代碼在Node上運行但不能在React / Chrome上運行的是什么?

瀏覽器在POST請求之前發送安全性要求的OPTIONS請求,以查找其請求的服務器是否打算從瀏覽器當前所在的域接收請求。 瀏覽器拒絕通過使用適當的Access-Control*標頭響應OPTIONS請求,將請求發送到尚未選擇加入流量的服務器。

從節點repl運行沒有這種限制。

這個問題會更詳細: Chrome瀏覽器如何確定何時發送選項?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM