javascript - Ionic Serve- XMLHttpRequest 无法在浏览器上加载

标签 javascript api ionic-framework

我目前正在 Ionic 框架中编写一个需要与 API 通信的功能。我尝试使用 XMLHttpRequest() 函数,就像我在网上找到的大多数资源一样,但请求每次都会失败,尽管我可以访问互联网,但 无法加载错误。

如果有什么区别,我正在使用 ionicserve --lab 测试应用程序,并通过本地计算机(连接到互联网)。我想我在某种程度上也想知道通过 Ionic 与 RESTful API 通信的正确方法是什么。任何帮助将不胜感激。

最佳答案

问题是 CORS。当您在应用程序中时,您的手机会为您处理跨域连接,但在浏览器中则不行。

您需要做的是使用您的 ionic.project 设置代理

{
  "name": "appName",
  "app_id": "",
    "proxies": [
    {
      "path": "/devapi",
      "proxyUrl": "https://api.somewebsite.com/api/"
    }
  ]
}

在此之后,您所做的每个 ajax 请求都应该简单地发送到“/devapi” 这就是我在应用程序初始化中不每 5 秒在它们之间切换一次所做的事情

if (window.cordova) {
  $rootScope.baseURL = 'https://api.somewebsite.com/api/';
} else {
  $rootScope.baseURL = 'devapi/';
}

有关代理的进一步阅读:http://ionicinaction.com/blog/how-to-fix-cors-issues-revisited/

关于javascript - Ionic Serve- XMLHttpRequest 无法在浏览器上加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37670235/

相关文章:

javascript - 将下拉菜单与响应式导航栏中的输入对齐

javascript - vue导入highcharts-more时遇到问题

ruby-on-rails - Ruby 获取深度嵌套的 JSON API 数据

python - 如何获取列表 Twitter API 中的所有用户?

html - ionic 4 ion-select-option 文本换行

IOS - 删除或修改在后台访问位置的权限

Javascript 文档 : Returns null or type

api - 在本地主机上测试 foursquare API

html - 如何在 div 中使用 ion-tabs

javascript - 如何在jquery中更改属性 "hidden"