[英]Can't connect with server in Phonegap App by CORS request error
我已經創建了我的應用程序。 當我在桌面上測試或在 PhoneGap IDE 上運行時,它運行正常並與服務器連接,但是當我構建我的 apk 並在 Android 上運行它時,請求失敗並啟動此消息:
請求的資源上不存在“Access-Control-Allow-Origin”標頭。 因此,不允許訪問 Origin ' http://localhost '。
這是我的 XMLHttpRequest:
sendPost: function(url, data, callback){
var loading = document.getElementById('loading');
loading.innerHTML = '<p></p>';
loading.classList.add('loading_active');
var params = '';
var count = Object.keys(data).length;
for(var i=0; i<count;i++){
if(i>0){
params += '&';
}
params += Object.keys(data)[i] + '=' + Object.values(data)[i];
}
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var res = JSON.parse(xhr.responseText);
if(callback){
callback(res);
}
}
};
xhr.send(params);
},
我這樣稱呼它:
app.sendPost(url,data,function(res){
some code.....
}); // end app.sendPost()
我在 htaccess 文件中包含了這一行:
Header set Access-Control-Allow-Origin "*"
但是服務器不允許來自Phonegap(本地主機)的請求
解決了!! 問題是我必須在 config.xml phonegap 文件中包含一個白名單:
正如我之前解釋的那樣,問題僅在我運行構建項目 phonegap apk 時發生(在開發模式下運行正常)所以我只是在 config.xml 文件中包含了一個白名單,它可以工作。
在你的 config.xml 文件中加入這一行:´´´ ´´´
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.