2016-04-22 129 views
0

我正在構建Phonegap應用程序,並且我爲iOS平臺安裝了插件WKWebViewWKWebView xhr在phonegap項目中返回狀態0並且readyState = 4

,我現在面臨的問題是,當我使用xhr谷歌從代碼獲得訪問令牌做出post我得到xhr回報readyState = 4status = 0

如果我測試使用UIWebView使用相同的代碼一切工作正常。 Android(沒有WKWebView)也是相同的代碼工作正常。所以,這個問題僅是使用WKWebView

這裏iOS是後:

var xhr = new XMLHttpRequest(); 
    var url = "https://accounts.google.com/o/oauth2/token"; 
    var data = 'code=' + encodeURIComponent(code[1]) + 
       '&client_id=' + encodeURIComponent(this.gdrive_client_id) + 
       '&client_secret=' + encodeURIComponent(this.gdrive_client_secret) + 
       '&redirect_uri=http%3A%2F%2Flocalhost' + 
       '&grant_type=authorization_code' 
    xhr.open("POST", url, true); 
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 

    xhr.send(data); 
    xhr.onreadystatechange = function() { 
     if (xhr.readyState == 4) { 
      console.log(xhr.status); //Here I get status 0 
     } 
    }; 

我使用WKWebView verison 0.6.4

Phonegap CLI版本5.5.2

平臺:IOS 3.9.2

回答

0

WKWebVie與webview不同,w實際上尊重了跨源請求策略。這實際上更安全,但是由於種種原因,對於phonegap/cordova應用程序來說是一件麻煩事。有關詳細信息,請參閱this issueamongstothers

相關問題