jQuery AJAX响应没有显示PHP

时间:2014-01-07 10:42:19

标签: php jquery ajax

我不知道我做错了什么,但PHP确实运行了(我可以通过Firebug上的POST数据注意到它),但是没有回应。

这是我的JS文件:

$('.table_item').click(function()  {

    var ticket_nbr = $(this).children('td').attr("class");
    var dataString = 'ticket_nbr='+ ticket_nbr;

    $.ajax({
            url: 'display.php',
            type: 'POST',
            data: dataString,
            success: function(data) {
                console.log(data);

                $("#DisplayTicket").modal('setting', 'transition', 'vertical flip').modal('show');
            },
            error: function(e) {
                console.log(e)
            }
    });
});

和被调用的PHP文件:

if($_POST)
{

    $ticket_nbr=$_POST['ticket_nbr'];

    ?>

    <div id="DisplayTicket" class="ui large modal transition active visible" style="margin-top: -110px;">
        <i class="close icon"></i>
        <div class="header">
            <?php echo $ticket_nbr; ?>
        </div>
    </div>

    <?php

}

这是我在Firebug上获得的输出:

<div id="DisplayTicket" class="ui large modal transition hidden" style="margin-top: -110px;">
    <i class="close icon"></i>
    <div class="header">
        ticket_3  // The post data sent
    </div>
    <div class="content">
        <p>Merci, <span class="test_display"></span>.
    </div>
</div>

任何帮助或提示都会很棒!

感谢。

2 个答案:

答案 0 :(得分:1)

您正在返回HTML但从未将其添加到正文

success: function(data) {
            console.log(data);
            $(data).appendTo('body'); // <----------------------
            $("#DisplayTicket").modal('setting', 'transition', 'vertical flip').modal('show');
},

另外,理想情况下dataString = 'ticket_nbr='+ ticket_nbr应为dataString = {'ticket_nbr': ticket_nbr}

答案 1 :(得分:0)

你必须在正文或div中显示/追加下面的div。

<div id="DisplayTicket" class="ui large modal transition active visible" style="margin-top: -110px;">
        <i class="close icon"></i>
        <div class="header">
            <?php echo $ticket_nbr; ?>
        </div>
    </div>

然后使用以下代码取得成功。

$('#DisplayTicket').addClass('active');
$('#DisplayTicket').css('visibility','visible');