0

我正在使用 javascript 从 URL 中提取数据并将其放入 div:

function ahah(url, target) {
    document.getElementById(target).innerHTML = 'Fetching fixtures...';
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
if (req != undefined) {
    req.onreadystatechange = function() {ahahDone(url, target);};
    req.open("GET", url, true);
    req.send("");
    }
}  

function ahahDone(url, target) {
    if (req.readyState == 4) { // only if req is "loaded"
        if (req.status == 200) { // only if "OK"
            document.getElementById(target).innerHTML = req.responseText;
        } else {
            document.getElementById(target).innerHTML=" Error:\n"+ req.status + "\n" +req.statusText;
        }
    }
}

function load(name, div) {
    ahah(name,div);
return false;
}

load('http://www.domain.com/feeds/','content');

问题是,如果要加载的 URL 是本地的,它可以正常工作(/feeds/),但是当我将其更改为指向我打算保存的外部站点(http://www.domain.com/feeds/)时我得到一个“错误0”的文件。

我已经检查了 URL 是否有可用的内容,但除非它是本地的,否则它将无法工作。非常欢迎任何反馈,谢谢。

4

2 回答 2

1

0 的“错误”仅表示请求已加载到本地计算机上。没什么好担心的 :)

只需更改这行代码以接受状态 0:

if (req.status == 200 || req.status == 0) {

编辑:正如一些评论者所提到的,您也可能遇到域起源问题,尽管我不认为这就是这种情况下的问题。

于 2012-02-02T14:27:45.817 回答
1

我发现您尝试获取的 html 页面应该驻留在您的网站(域)上。您尝试从其他站点获取的 html 片段不会被获取。

于 2012-03-05T10:10:48.297 回答