我使用 phonegap 构建的移动应用程序有问题。我会将此应用程序连接到 Magento 并获取产品的详细信息并显示在应用程序中。
Oauth 是为此 url 配置的,即
http://localhost/Basava/api/rest/products
如果我在地址栏中键入此 url,它会给我 json 输出。
现在我在我的应用程序中编写了一个 ajax 查询来请求相同的 url 来获取我将用来在应用程序中显示图像的 json。
<script type="text/javascript">
function imageLoad() {
$.ajax({
type: 'GET',
url: 'http://localhost/Basava/api/rest/products',
data: { get_param: 'value' },
dataType: 'json',
success: function (data) {
alert('success');
....
..
},
error: function() {
alert('error');
}
});
}
<script>
</head> <body onload="imageupload()">
<div id="afui">
...`
我删除了 success
中的逻辑功能和<body>
因为那不是我的问题的一部分。由于我是在 phonegap 环境中开发的,所以我使用 intel xdk 对其进行了测试。
情况 1:在 intel xdk 中使用调试选项卡时,我收到错误警报。
情况 2:在 intel xdk 中使用应用程序模拟器我收到成功警报。
情况 3:在我的浏览器中打开应用程序会出现错误警报。
现在我无法理解这些。任何人都可以解释一下吗?我做错了什么?我希望能够在浏览器中加载应用程序页面以进行调试。
编辑:即使我将错误处理程序更改为如下所示
alert: function(jqXHR, textStatus) {
alert(textStatus);
}
我只是得到一个警告框,它只显示普通的 error
写在上面。
最佳答案
我认为这个问题是因为无效的数据类型,你的服务器必须在你的情况下返回json,你可以尝试删除它只是为了测试,如果它有效那么你需要检查你的后端代码.
还要确保您在没有安全模式的情况下运行浏览器,因为跨域策略:
以Ubuntu为例:
google-chrome--disable-web-security
关于javascript - API 请求在使用 phonegap 调试时不工作,但在模拟器中工作,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28472456/