0

我正在尝试通过在 PHP 脚本中使用 file_get_contents 并在前端使用 ajax 来显示网站的内容。我可以很好地显示整个页面,但是如果我尝试只在页面上显示一定数量的图像,则会收到“TypeError:e is undefined”错误。这是我的PHP:

<?php
    $url= 'https://twitter.com/twitter';
    if($url!="")
        echo file_get_contents($url);
?>

这是我的 jQuery:

    $.ajax({
    url : "twitter.php",
    dataType: "html",
    success : function (data) {
        console.log("loaded");
        //$(data).appendTo('#images');
        $.each(data.items, function(i,item) {
            $("<img />").attr("src", item.media.m).appendTo('#images');
            if (i == 5) return false;
        });
    }
});
4

2 回答 2

0

我相信这里的问题是data.items不确定的。我猜这data是字符串类型,因为您期望返回 HTML。因此,您将收到网页的 HTML,您必须自己解析。

于 2013-08-18T19:55:51.783 回答
0

data是一个 HTML 字符串,要使用 jQ 对其进行迭代(如 DOM 树),您必须调用 jQ 构造函数(或init方法)。当您尝试将其附加到当前 dom 时实际执行的操作:

  $(data).appendTo('#images');
// \==>$() is a function call, returns a jQ instance
//         When passing a markup string, jQ will parse it for you

因此,循环应该如下所示:

$.each($(data), function(){});

请尝试添加一些console.log语句,这将在调试时对您有很大帮助。

于 2013-08-18T19:59:25.663 回答