axios post请求和JQuery $ .ajax请求都是在移动设备上返回403禁止错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios post请求和JQuery $ .ajax请求都是在移动设备上返回403禁止错误相关的知识,希望对你有一定的参考价值。

我正在使用Vue进行应用程序,我正在使用axios进行HTTP rest-api调用。

在下面找到代码

<!DOCTYPE html>
<html>
<head>
    <title>Vue Axios Example</title>    
</head>
<body>
<div id="app">
  <h1>App</h1>
  <p>From Axios: {{response}}</p>      
</div>

<script src="vue.min.js"></script>
<script src="axios.min.js"></script>
<script>
var app = new Vue({
      el: '#app',
      data: {        
          users: [],
          response : ""
      }, 
      methods:{
        init:function() {
          var vm = this;
          axios(
              { 
                method : "POST", 
                "url" : "http://localhost:3000/", 
                "data" : myJSONText, 
                "headers" : 
                { 
                  "content-type": "application/json; charset=UTF-8;" 
                }
              }
          )
          .then(function (result) {          
              //alert(result.data);
              stringData = result.data;
              vm.response = JSON.stringify(result.data);
              //$('.dataP').text(JSON.stringify(stringData));
          })
          .catch(function (error) {        
            alert(error);
          })
          .then(function () {

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

这在Web浏览器中工作正常。

找到下面的截图。

enter image description here

但它不能在移动设备上工作(联想A6600 - 安卓4.4.2)得到403 - 禁止错误。

请找到下面的手机屏幕截图

enter image description here

为了进一步检查,我也在使用JQuery $ .ajax发布请求。

下面是Jquery ajax代码

$.ajax({
   type: "POST",
   url: "http://localhost:3000/",          
   data: myJSONText,              
   contentType: "application/json;charset=UTF-8",        
   dataType:"json",
   success: function( data ) {          
   stringData = data;
   console.log(stringData);
   $('.dataP').append(JSON.stringify(stringData));
   },
   error: function( error ) {
   console.log( error );
   alert("jq: "+JSON.stringify(error));          
   }
})

但这也会返回相同的403错误。

我尝试使用我的IP /主机名并连接同一网络中的设备,而不是localhost。这也给出了同样的错误。

任何解决方案将不胜感激。

提前致谢。

答案

你的网址是localhost:3000。如果这个JS被加载到你的移动浏览器中,它也会尝试连接到localhost(现在是手机),你的服务器显然没有运行。 将其更改为您的实际服务器IP /主机名,您应该没问题。

以上是关于axios post请求和JQuery $ .ajax请求都是在移动设备上返回403禁止错误的主要内容,如果未能解决你的问题,请参考以下文章

Ajax相关(原生ajax,jQuery中ajax,axios)

axios post提交的Content-Type

axios里的post特别大的一个坑。

对于axios的理解

测开之・《前后端交互axios》

08-最简洁易懂的Ajax+Json+JQuery+案例演示知识整理