溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ajax跨域訪問報錯501怎么辦

發(fā)布時間:2021-09-01 09:50:26 來源:億速云 閱讀:180 作者:小新 欄目:web開發(fā)

小編給大家分享一下ajax跨域訪問報錯501怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

問題:ajax跨域訪問報錯501

運行下面的代碼會報錯501

$.ajax({
      type: "POST",
    url: "http://192.168.1.202/sensordata.php",

    contentType:'application/json; charset=utf-8',
    data: JSON.stringify(ajaxPostData),
    dataType:'json',
    success: function(data){
      //On ajax success do this
      console.info("success.");
      if (data["status"] == "ok"){
        alert("Settings is Ok. The Machine is rebooting.");
      }
    },
    error: function(xhr, ajaxOptions, thrownError) {
      //On error do this
      console.info("error.");
      if (xhr.status == 200) {

        alert(ajaxOptions);
      }
      else {
        alert(xhr.status);
        alert(thrownError);
      }
    }
  });

解決方法:

去掉 contentType:'application/json; charset=utf-8'

原因:

1 在跨域的時候,除了contentType為application/x-www-form-urlencoded, multipart/form-data或者text/plain外,都會觸發(fā)瀏覽器先發(fā)送方法為OPTIONS的請求。

2 比如說,你原來的請求是方法方法POST,如果第一個請求返回的結(jié)果Header中的Allow屬性并沒有POST方法,

3那么第二個請求是不會發(fā)送的,此時瀏覽器控制臺會報錯,告訴你POST方法并不被服務器支持。

以上是“ajax跨域訪問報錯501怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI