首頁 > web前端 > js教程 > 主體

ajax跨域訪問報錯501怎麼處理

php中世界最好的语言
發布: 2018-04-02 17:49:49
原創
2505 人瀏覽過

這次帶給大家ajax跨域訪問報錯501怎麼處理,處理ajax跨域訪問報錯的注意事項有哪些,下面就是實戰案例,一起來看一下。

問題: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外,都會觸發瀏覽器先傳送方法為OPTIONS的請求。

2 例如說,你原來的請求是方法方法POST,如果第一個請求回傳的結果Header中的Allow屬性並沒有POST方法,

3那麼第二個請求是不會發送的,此時瀏覽器控制台會報錯,告訴你POST方法並不被伺服器支援。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

使用Ajax實現根據人力資源系統資料增加OA帳號的方法

Ajax怎麼做關鍵字智能匹配搜尋

以上是ajax跨域訪問報錯501怎麼處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板