【发布时间】:2020-03-30 18:46:51
【问题描述】:
我已经创建了我的应用程序。当我在桌面上测试或在 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 (localhost) 的请求
【问题讨论】:
标签: javascript ajax .htaccess xmlhttprequest phonegap