我目前正在 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/