jQuery停止使用PHP

时间:2015-07-14 13:02:54

标签: php jquery

我已经用jQuery Session,GET等编写了一些代码。当您单击文本链接时,它会出现“成功”

但是当没有数据可行时,但是当我输入数据并修复它时,代码就会完全停止工作。

 $(function() {
    $(".open").click(function() {
        var status = "Open";
        var ticketid = "<?php echo $_GET['id']; ?>";
        var username = "<?php echo $_SESSION['MM_Username']; ?>";
        var dataString = 'status=' + status + 'id=' + ticketid + 'username=' + username;

        if(status==='' || ticketid==='' || username==='' || dataString==='') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        } else {
            $.ajax({
                type: "POST",
                url: "core/ticketData.php",
                data: dataString,
                success: function(result){
                     $('.success').fadeIn(200).show();
                     $('.error').fadeOut(200).hide();
                }
                });
        }
    return false;
    });
});

这是来自我的观看源

     $(function() {
    $(".open").click(function() {
        var status = "Open";
        var dataString = 'status='+status;

        if(status==='') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        } else {
            $.ajax({
                type: "POST",
                url: "core/ticketData.php?id=772&username=NoMansLand",
                data: dataString,
                success: function(result){
                     $('.success').fadeIn(200).show();
                     $('.error').fadeOut(200).hide();
                }
                });
        }
    return false;
    });
});

但是当PHP为空时它完全有效,但是当它停在那里时它会停止。我试过Echo&amp;打印。

有什么想法吗?

已更新

好的我已经解决了这个问题,警报在您执行以下操作时:单击它,检查变量,执行其他操作,但是当您点击$ .ajax时({it wont alert。

     <script>
 $(function() {
    $(".open").click(function() {
        var status = "Open";
        var ticketid = "<?php echo $_GET['id']; ?>";
        var username = "<?php echo $_SESSION['MM_Username']; ?>";
        var dataString = 'status=' + status + '&id=' + ticketid + '&username=' + username;

        if(status==='' || ticketid==='' || username==='' || dataString==='') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        } else {
             dataString = {
               'status' =  status,
               'id' =  ticketid
               'username' =  username
        };

            $.ajax({
                type: "POST",
                url: "core/ticketData.php",
                data: dataString,
                success: function(result){
                     $('.success').fadeIn(200).show();
                     $('.error').fadeOut(200).hide();
                }
                });
        }
    return false;
    });
});

已更新

删除了网站,问题已经解决。

3 个答案:

答案 0 :(得分:0)

您没有正确连接,&中缺少data个,这就是它失败的原因:

dataString = 'status=' + status + '&id=' + ticketid + '&username=' + username;
//---------------------------------^-------------------^

答案 1 :(得分:0)

更改声明方式

   if(status==='' || ticketid==='' || username==='' || dataString==='') {
        $('.success').fadeOut(200).hide();
        $('.error').fadeOut(200).show();
    } else {

      // declare it inside the else 
       // this is more optimised
       dataString = {
               'status' =  status,
               'id' =  ticketid
               'username' =  username
        };

        $.ajax({
            type: "POST",
            url: "core/ticketData.php",
            data: dataString,
            success: function(result){
                 $('.success').fadeIn(200).show();
                 $('.error').fadeOut(200).hide();
            }
            });
    }your `dataString`

答案 2 :(得分:0)

您可以使用json格式的数据表示以下列方式实现此目的:

 $(function() {
    $(".open").click(function() {
        var status = "Open";
        var ticketid = "<?php echo $_GET['id']; ?>";
        var username = "<?php echo $_SESSION['MM_Username']; ?>";

        if(status==='' || ticketid==='' || username==='' || dataString==='') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        } else {
            $.ajax({
                type: "POST",
                url: "core/ticketData.php",
                data: {'status': status, 'id':ticketid, 'username':username},
                success: function(result){
                     $('.success').fadeIn(200).show();
                     $('.error').fadeOut(200).hide();
                }
                });
        }
    return false;
    });
});