簡體   English   中英

Safari的XMLHttpRequest(POST)失敗,“ Access-Control-Allow-Headers不允許請求標頭字段Content-Type”

[英]Safari fails XMLHttpRequest (POST) with ' Request header field Content-Type is not allowed by Access-Control-Allow-Headers'

我只是想使用httpbin來測試XMLHttpRequests。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script type="text/javascript">
    (function() {
        var xhrToCheck = new window.XMLHttpRequest();
        xhrToCheck.open("POST", "http://httpbin.org/post");
        xhrToCheck.onreadystatechange = function() {
            if(this.readyState === 4) {
                console.log(this);
            }
        };
        xhrToCheck.send("post test");

    })();
</script>
</body>
</html>

什么有效:

  1. Firefox和Chrome中相同的POST請求
  2. 在Firefox,Chrome和Safari中將請求GET到URL http://httpbin.org/gethttps://httpbin.org/get

我得到的錯誤:

[Error] Failed to load resource: Request header field Content-Type is not allowed by Access-Control-Allow-Headers. (post, line 0)
[Error] XMLHttpRequest cannot load http://httpbin.org/post. Request header field Content-Type is not allowed by Access-Control-Allow-Headers. (index.html, line 0)

對於為什么發生此問題的任何幫助,將不勝感激!

編輯:對不起,我想我的主要問題是1)我該如何解決此問題,以便野生動物園的POST請求不會引發錯誤

出於安全原因,某些瀏覽器會檢查“主機”和“ access-control-allow-origin”是否相同,或者access-control-allow-origin允許主機url發出該請求,從而保護您的瀏覽器從Chrome XSS中,您可以禁用該安全功能( 此處說明了如何 )。

甚至還有一個Chrome插件

暫無
暫無

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

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