Javascript_http请求到另一个域



我想从另一个域的网页上获取数据,但我得到这个错误

No 'access-control-allow-origin' header is present on the requested resource

我已经尝试了CORS的例子从这个博客http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/但我仍然得到相同的错误。
当我在应用程序中运行页面时,我已经设法获得了页面的内容(与我在Titanium应用程序中所做的一样,现在在浏览器中运行的PhoneGap中工作)

这是我的脚本

function createCORSRequest(method, url){
 var xhr = new XMLHttpRequest();
 if ("withCredentials" in xhr){
     xhr.open(method, url, true);
 } else if (typeof XDomainRequest != "undefined"){
     xhr = new XDomainRequest();
     xhr.open(method, url);
 } else {
     xhr = null;
 }
 return xhr;

}

function insertText () {
var artist = [];
var table = document.createElement('TABLE')
var tableBody = document.createElement('TBODY')
table.border = '1'
table.appendChild(tableBody);
var xhr = createCORSRequest('GET', "http://www.rockwerchter.be/en/line-up");
if (!xhr) {
  throw new Error('CORS not supported');
}
xhr.open("GET", "http://www.rockwerchter.be/en/line-up");
xhr.send();
xhr.onload = function(){
    text = request.responseText;
    var regex = new RegExp(".*box-title box-title-h3 mb-05.*", "g");
    artist = text.match(regex);
    var data = [];
    for (var i=0; i<artist.length; i++) {
        var tr = document.createElement('TR');
        tableBody.appendChild(tr);
        artist[i]= artist[i].replace("tttttttttttttttttttttt<h2 class="box-title box-title-h3 mb-05">", "");
        artist[i]= artist[i].replace("</h2>","");
        tr.innerHTML=artist[i];
    }
}
}

如果请求的url是一个PHP文件,你应该在你的页面顶部添加这个标题:

header('Access-Control-Allow-Origin: *');  

您可以输入请求它的域,而不是通配符。


根据你的回复,你应该在。htaccess中设置如下:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

我从这个来源得到这个

相关内容

  • 没有找到相关文章

最新更新