我正在创建一个由 wordpress 网站提供支持的基本 phonegap 应用程序。
每次我使用正确的详细信息处理以下内容时,都会收到以下错误:
XMLHttpRequest cannot load http://example.com?action=login&username=user&password=password. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access.
这是我的代码:
function fetch_and_display_posts()
{
var xhr = new XMLHttpRequest();
xhr.open("GET", "myurlhere");
xhr.onload = function(){
var posts_array = JSON.parse(xhr.responseText);
var html = "";
for(var count = 0; count < posts_array.length; count++)
{
var title = posts_array[count][0];
var link = posts_array[count][1];
var date = posts_array[count][2];
var image = posts_array[count][3];
html = html + "<li>" + "<a href='javascript:open_browser(\"" + link + "\")'>" + "<img height='128' width='128' src='" + image + "'>" + "<h2>" + title + "</h2>" + "<p>" + date + "</p></a></li>";
}
document.getElementById("posts").innerHTML = html;
$("#posts").listview("refresh");
}
xhr.send();
}
function login()
{
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if(username == "")
{
navigator.notification.alert("Please enter username", null, "Username Missing", "OK");
return;
}
if(password == "")
{
navigator.notification.alert("Please enter password", null, "Password Missing", "OK");
return;
}
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://example.com?action=login&username=" + encodeURIComponent(username) + "&password=" + encodeURIComponent(password));
xhr.onload = function(){
if(xhr.responseText == "FALSE")
{
navigator.notification.alert("Wrong Username and Password", null, "Wrong Creds", "Try Again");
}
else if(xhr.responseText == "TRUE")
{
fetch_and_display_posts();
$("#page_two_link").click();
}
}
xhr.send();
}
function open_browser(link)
{
window.open(link, '_blank', 'location=yes');
}
我该如何解决这个问题?我相信它与跨域安全有关?