Ajax调用 - 附加php echo的结构

时间:2013-05-26 15:04:50

标签: php javascript jquery ajax

我有点困惑,我没有线索我在寻找什么。 虽然我会在这里发布重要的部分,所以你可以想出并帮助我。

  

PHP文件的一部分:

if (empty($vid) || empty($entry)) {
    $broken = TRUE;
}

if(!$broken) {
    $video = parseVideoEntry($entry);

    echo "
        <div class=\"video_wrap\">
            <div class=\"video_thumbnail\">
                <a href=\"{$video->watchURL}\">
                    <img src=\"$video->thumbnailURL\">
                </a>
            </div>
        </div>
        <!-- More of structure parts here -->
    ";
}
  

HTML结构的一部分:

<form action="" method="GET" style="margin: 5% 0;" id="youtube_fetch">
    <input type="text" name="id" value="https://www.youtube.com/watch?v=VIDEO_ID_HERE" id="videoID_input" />
    <input type="submit" id="fetch_submit" />
</form>
  

jQuery / Ajax调用的一部分:

$('#fetch_submit').on('click', function (e) {
    var videoID = $('#videoID_input').val();

    $.ajax({
        url: 'inc/YouTube_API_Fetch_ID.php',
        type: 'GET',
        data: { id: videoID },
        success: function (state) {
            var newState = $.trim(state);

            if (newState == '')
                alert('Return an Error later!');
            else
                console.log(state);
        }
    });

    e.preventDefault();
});

好的,当我将有效的youtube ID输入到输入字段时,它将从ajax调用返回else(在控制台日志中回显html结构)。

我不知道如何处理的部分是:“如何获得回显的HTML内容/结构,并将其附加到<div id="youtube_content"></div>或直接附加到body。< / p>

2 个答案:

答案 0 :(得分:1)

使用.html()方法:

$('#youtube_content').html(state);

<强>参考文献:

答案 1 :(得分:1)

如果我理解你的问题:

$('#fetch_submit').on('click', function (e) {
    var videoID = $('#videoID_input').val();

    $.ajax({
        url: 'inc/YouTube_API_Fetch_ID.php',
        type: 'GET',
        data: { id: videoID },
        success: function (state) {
            var newState = $.trim(state);

            if (newState == '')
                alert('Return an Error later!');
            else {
                $('<div />', {
                    id: 'youtube_content'
                }).appendTo('body');

                $('#youtube_content').html(state);
            }
        }
    });

    e.preventDefault();
});