0

我在codeigniter中创建了rest api并尝试在phonegap应用程序中使用它但是它给了我错误-401 Unauthorized在Phonegapindex.html页面中。

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

我引用的 Codeigniter 休息服务器代码 -

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

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

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

在此处输入图像描述

在此处输入图像描述

下面是我在 phonegap / Codeigniter View URL ( 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 中正常工作的屏幕截图 - 在此处输入图像描述

使用 ajax 在 Codeigniter 视图中使用 API 时的 COnsole 屏幕截图 - 在此处输入图像描述

4

1 回答 1

0

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

或者您可以在 cpanel 或 plesk 服务器上尝试。

于 2019-03-24T15:59:56.923 回答