仅使用javascript no jquery加载页面内容

时间:2014-03-07 09:37:46

标签: javascript load

我正在处理一个简单的脚本,该脚本会在博客和网站上加载用户的最后帖子!

页面运行良好,没有任何问题! 这是一个例子:http://parsclub.net/tools/widget/load-rss.php?u=reza-shady&l=5&w=200&c=4DC7FF

我想在外部页面加载该链接!

因为我使用了这个脚本并把它放在一个文件

<?php
    $user   = trim($_GET["u"]);
    $limit  = trim($_GET["l"]);
    $width  = trim($_GET["w"]);
    $color  = trim($_GET["c"]);
    header("Content-Type: text/javascript; charset=utf-8");
?>
document.write('<div id="parsclub_widget"><img src="http://parsclub.net/themes/parsclub/imgs/loading_posts.gif" style="margin:20px;display:inline-block;"/></div>');

function ajaxRequest() {
    var activexmodes = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
    if (window.ActiveXObject) {
        for (var i = 0; i < activexmodes.length; i++) {
            try {
                return new ActiveXObject(activexmodes[i])
            } catch (e) {

            }
        }
    } else if (window.XMLHttpRequest) return new XMLHttpRequest()
    else return false;
}

function load_widget() {
    var mygetrequest = new ajaxRequest()
    if (mygetrequest.overrideMimeType) mygetrequest.overrideMimeType('text/html')
    mygetrequest.onreadystatechange = function () {
        if (mygetrequest.readyState == 4) {
            if (mygetrequest.status == 200 || window.location.href.indexOf("http") == -1) {
                var data = mygetrequest.responseText;
                document.getElementById("parsclub_widget").innerHTML = data;
            } else {
                alert("خطایی در هنگام دریافت اطلاعات رخ داده است");
            }
        }
    }

    mygetrequest.open("GET", "http://parsclub.net/tools/widget/load-rss.php?u=<?= $user ?>&l=<?= $limit ?>&w=<?= $width ?>&c=<?= $color ?>", true);
    mygetrequest.send(null);
    return false;
}

load_widget();

但是当我把它放在外部页面上时它不起作用 你可以在这里看到结果! http://up.pc-t.ir/New%20Text%20Document.html

我知道我不能简单地用jquery load()函数加载它,但我想要它纯粹的JavaScript 谁能帮我这个 ?

抱歉我的英文不好

修改

@ merlin-denker 10x为您的帮助我通过将此标头添加到load-rss.php文件找到了我的问题的解决方案

header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Content-Type');

1 个答案:

答案 0 :(得分:1)

正如Barmar在评论中所说,由于原始政策相同,AJAX请求失败。

解决方法是在您的网站上添加一个PHP脚本,只需读取其他网址的内容并回复它。

<?php echo file_get_contents(YOUR_URL_HERE); ?>

然后让您的Javascript调用位于同一个Web服务器上的脚本,它将起作用。

在此处阅读更多内容:http://www.php.net/manual/function.file-get-contents.php