使用phonegap进行调试时API请求无效,但在模拟器中有效,为什么?

时间:2015-02-12 08:18:03

标签: 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中使用app模拟器我获得成功警报 案例3:在浏览器中打开应用程序会显示错误提示。

现在我无法理解这些。有人可以解释一下吗?我做错了什么?我希望能够在浏览器中加载应用页面以进行调试。

编辑:即使我将错误处理程序更改为如此  alert: function(jqXHR, textStatus) { alert(textStatus); }

我只是得到一个警告框,它只显示简单的error

1 个答案:

答案 0 :(得分:2)

我认为这个问题是因为数据类型无效,你的服务器必须在你的情况下返回json,你可以尝试删除它只是为了测试,如果它工作,那么你需要检查你的后端代码

由于跨域策略,请确保您在没有安全模式的情况下运行浏览器:

以Ubuntu为例:

google-chrome--disable-web-security