После отправки запроса Axios и запроса JQuery $ .ajax на мобильном устройстве возвращается ошибка 403. - PullRequest
0 голосов
/ 30 ноября 2018

Я работаю над приложением, использующим 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>

Это нормально работает в веб-браузере.

Найдите скриншот ниже.

enter image description here

Но это не работает на мобильном устройстве (Lenovo A6600 - android 4.4.2)получил 403 - запрещенная ошибка.

Пожалуйста, найдите ниже скриншот мобильного телефона

enter image description here

Для дальнейшей проверки я также использую пост-запрос JQuery $ .ajax.

Ниже приведен код Ajax Jquery

$.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.

Вместо localhost я попытался указать свой IP / Hostname и подключить устройства в одной сети.Это также дает ту же ошибку.

Любые решения будут высоко оценены.

Заранее спасибо.

1 Ответ

0 голосов
/ 30 ноября 2018

Ваш URL-адрес localhost:3000.Если этот JS загружается в ваш мобильный браузер, он также попытается подключиться к localhost (который сейчас является телефоном), где ваш сервер явно не работает.
Измените его на фактический IP / имя хоста сервера, и вам следуетбудь в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...