• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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外,都会触发浏览器先发送方法为OPTIONS的请求。

    2 比如说,你原来的请求是方法方法POST,如果第一个请求返回的结果Header中的Allow属性并没有POST方法,

    3那么第二个请求是不会发送的,此时浏览器控制台会报错,告诉你POST方法并不被服务器支持。

    参考文档:http://www.foreverpx.cn/2016/06/22/cross_content_type/

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 详解Django解决ajax跨域访问问题
    • Ajax实现跨域访问最新解决方案
    • 关于C#中ajax跨域访问问题
    • Ajax 设置Access-Control-Allow-Origin实现跨域访问
    • Ajax跨域访问Cookie丢失问题的解决方法
    • 浅谈JQuery+ajax+jsonp 跨域访问
    • ajax跨域访问遇到的问题及解决方案
    上一篇:Ajax提交Form表单页面仍会刷新问题的快速解决办法
    下一篇:AJAX显示加载中并弹出图层遮挡页面的实现示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ajax跨域访问报错501的解决方法 ajax,跨域,访问,报错,501,