javascript - API 请求在使用 phonegap 调试时不工作,但在模拟器中工作,为什么?

标签 javascript json cordova magento intel-xdk

我使用 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/

相关文章:

javascript - 如何在 javascript 中将千米转换为经度纬度

android - GSON 映射键值对

php - 如何使用 phonegap 发送推送通知并解析

angularjs - 如何在 ionic+cordova+angular 应用程序中使用 cordova-universal-links-plugin?

javascript - Cordova 和 jquery 移动谷歌地图未加载

javascript - AJAX 轮询和循环

javascript for循环重复上次迭代

javascript - 如何在 JQuery DataTable 上动态创建 Bootstrap Popover

json - 在jsp中访问JSONObject

javascript - JSON.parse 不将字符串转换为对象