Phonegap错误:401未经授权-使用Phonegap中具有基本身份验证的Rest API

时间:2019-03-24 14:41:08

标签: php rest phonegap codeigniter-restserver codeigniter-restapi

我已经在codeigniter中创建了REST API,并试图在phonegap应用程序中使用它,但是它给我带来了错误-401 Unauthorized在Phonegap index.html页面中。

我在codeigniter中使用基于令牌的身份验证。 Rest api在邮递员中工作正常,当在Codeigniter View中使用相同的Ajax代码使用rest api时,rest api也能正常工作 我引用的

Codeigniter Rest Server代码-

https://github.com/chriskacerguis/codeigniter-restserver

以下是我在Phonegap的Index.html-中收到的错误

Phonegap应用程序URL(http://192.168.1.2:3000/

enter image description here

enter image description here

下面是我在话机间隙/ Codeigniter视图中双方都使用的代码 网址(http://localhost/webapi/welcome/index

   <script
  src="http://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
     <script>
    var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://localhost/webapi/api/user/",
  "method": "GET",
  "headers": {
    "X-API-KEY": "7c4a8d09ca3762af61e59520943dc26494f8941b",
    "Authorization": "Basic YWRtaW46MTIzNA==",
    "cache-control": "no-cache",
    "Postman-Token": "552d3078-6d54-4d59-ba79-c94248b154b3"
  }
}
console.log("settings are -");
         console.log(settings);
$.ajax(settings).done(function (response) {
    console.log("here api result come - ");
  console.log(response);
});
    </script>

Rest API的屏幕快照在Postman中工作正常- enter image description here

使用ajax在Codeigniter视图中使用API​​时COnsole的屏幕截图- enter image description here

1 个答案:

答案 0 :(得分:0)

基本上,由于XAMPP服务器托管在另一台计算机(该模拟器是虚拟机)上,因此您将无法从模拟器访问http://localhost/webapi/api/user/。例如,通过将请求的URL更改为http://192.168.1.61/webapi/api/user/,您可以访问PC上托管的apache服务器。您必须通过打开命令提示符并键入ipconfig来查找本地IP。您还需要确保您的网络防火墙允许来自端口80的传入流量。

或者您可以尝试使用cpanel或plesk服务器。