我正在构建一个Phonegap应用,我为iOS平台安装了插件WKWebView
。
我现在面临的问题是,当我使用post
使用xhr
谷歌来获取代码中的访问令牌时,我会xhr
返回readyState = 4
和status = 0
如果我使用相同代码的UIWebView
进行测试,一切正常。 Android
(没有WKWebView
)上的相同代码也正常工作。所以此问题仅在使用iOS
WKWebView
上进行
这是帖子:
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
版本0.6.4
Phonegap
cli版本5.5.2
平台:ios 3.9.2
答案 0 :(得分:0)
与webview不同,WKWebView实际上尊重跨源请求策略。这实际上更安全,但由于种种原因,这对于phonegap / cordova应用来说是一件麻烦事。有关详细信息,请参阅this issue,amongst others。