2013-10-01 97 views
2

我使用的是Phonegap3.0 android build。在那裏,我正在檢查一個網址進行身份驗證,每當我在瀏覽器中運行該網址時它的工作。在我的移動應用程序與xhr.status「0」拋出錯誤。

當我提醒下面的代碼它給錯誤。

var ajaxRequest = $.ajax({ 
       type: "GET", 
       url: getEmployeeURL, 
       dataType: "json", 
       cache: false 
      }); 
      ajaxRequest.done(function() { 
       utils.hideLoading(); 
       alert("Authentication Success"); 
       //utils.navigate("#dashboardView"); 
      }); 

ajaxRequest.fail(function(xhr, textStatus, errorThrown) { 
       alert("Authentication failed"); 
       alert(xhr.status); 
       alert(textStatus); 
       utils.hideLoading(); 
      }); 

上面的.fail方法拋出狀態爲「0」,textStatus爲「錯誤」。我不知道爲什麼這不是調用網址。

找到下面的AndroidManifest.xml許可

<uses-sdk android:minSdkVersion="13" android:targetSdkVersion="18" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

我覺得跨域有$就一些問題,但我的根config.xml中設置

<access origin="*" /> 

和RES/XML/config.xml也

回答

1

試圖執行此操作:

在調用AJAX函數y OU必須等待事件「deviceready」,以火,加上2碼的行:

document.addEventListener('deviceready', function() { 
jQuery.support.cors = true; 
$.mobile.allowCrossDomainPages = true; 
Examplerequest(); 
}, false); 
+0

$ .mobile.allowCrossDomainPages是jqueryMobile吧?那是什麼Examplerequest(); – krrr25

+0

收到錯誤10-01 13:01:00.553:E/Web控制檯(21626):Uncaught TypeError:無法在file:/// android_asset/www – krrr25

+0

處設置屬性'allowCrossDomainPages'undefined哦,對不起,我只是覺得你是使用JQuery ... – Cheese