2015-02-12 29 views
3

我使用phonegap建立的移动应用程序出现问题。我将把这个应用程序连接到Magento并获取产品的详细信息并显示在应用程序中。 Oauth配置为这个网址,即 http://localhost/Basava/api/rest/products它给了我JSON输出,如果我在地址栏中输入此网址。API请求在使用phonegap进行调试时不起作用,但在模拟器中工作,为什么?

现在我已经在我的应用程序中编写了一个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>,因为这不是我的问题的一部分。由于我在手机环境中开发它,我使用intel xdk进行了测试。
情况1:在intel xdk中使用调试选项卡时,出现错误警报。
案例2:在英特尔xdk中使用应用仿真器我获得了成功警报。
情况3:在我的浏览器中打开应用程序会发出错误警报。

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

编辑:即使我更改错误处理程序看起来像这样
alert: function(jqXHR, textStatus) { alert(textStatus); }

我只是得到一个警告框,其中显示了什么,但写在上面平原error

+0

您可以添加错误信息到你的问题?因为我认为这是跨域政策问题 – 2015-02-12 08:33:10

+0

@HazemHagrass检查编辑。 – elembivos 2015-02-12 09:35:29

回答

2

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

另外,还要确保你运行,因为跨域策略没有安全模式的浏览器:

对Ubuntu为例:

google-chrome--disable-web-security 
+0

删除数据类型没有帮助。我正在访问opencart API,它返回我确定和检查的json。 – elembivos 2015-02-16 04:07:28

+0

@UmeshMahato检查我的编辑 – 2015-02-16 07:51:41

相关问题