2015-02-12 30 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

相關問題