Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript API请求在使用phonegap进行调试时不起作用,但在emulator中起作用,为什么?_Javascript_Json_Cordova_Magento_Intel Xdk - Fatal编程技术网

Javascript API请求在使用phonegap进行调试时不起作用,但在emulator中起作用,为什么?

Javascript API请求在使用phonegap进行调试时不起作用,但在emulator中起作用,为什么?,javascript,json,cordova,magento,intel-xdk,Javascript,Json,Cordova,Magento,Intel Xdk,我使用phonegap构建的移动应用程序存在问题。我将此应用程序连接到Magento,获取产品的详细信息并显示在应用程序中。 Oauth是为此url配置的,即。 http://localhost/Basava/api/rest/products如果我在地址栏中键入此url,它将提供json输出 现在,我在我的应用程序中编写了一个ajax查询,请求相同的url来获取json,我将使用该url在应用程序中显示图像 <script type="text/javascript">

我使用phonegap构建的移动应用程序存在问题。我将此应用程序连接到Magento,获取产品的详细信息并显示在应用程序中。 Oauth是为此url配置的,即。
http://localhost/Basava/api/rest/products
如果我在地址栏中键入此url,它将提供json输出

现在,我在我的应用程序中编写了一个ajax查询,请求相同的url来获取json,我将使用该url在应用程序中显示图像

     <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">
    ...`

函数imageLoad(){
$.ajax({
键入:“GET”,
网址:'http://localhost/Basava/api/rest/products', 
数据:{get_param:'value'},
数据类型:“json”,
成功:函数(数据){
警惕(“成功”);
....
..
}, 
错误:函数(){
警报(“错误”);
}
});
}
...`
我已经删除了
success
函数和
中的逻辑,因为这不是我的问题的一部分。由于我是在phonegap环境中开发的,所以我使用intel xdk对其进行了测试。
案例1:使用“英特尔xdk”中的“调试”选项卡时,我收到错误警报。
案例2:在“英特尔xdk”中使用应用程序模拟器时,我会收到成功警报。
案例3:在我的浏览器中打开应用程序会发出错误警报

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

编辑:即使我将错误处理程序更改为如下所示
alert:function(jqXHR,textStatus){
警报(文本状态);
}


我刚刚收到一个警报框,它只显示写在上面的简单的
错误。

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

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

以Ubuntu为例:

google-chrome--disable-web-security

你能将错误信息添加到你的问题中吗?因为我认为这是一个跨域策略issue@HazemHagrass选中编辑。删除数据类型没有帮助。我正在访问opencart API,它返回json,我确信并检查了json。