Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax没有';提示时,不要执行新请求_Php_Ajax - Fatal编程技术网

Php Ajax没有';提示时,不要执行新请求

Php Ajax没有';提示时,不要执行新请求,php,ajax,Php,Ajax,我仍在学习Ajax,每次我想使用Ajax更改页面内容时,我都会使用以下脚本: function load_page(id) { $.ajaxSetup({ cache: false }); var toId = ""; $('#ajax-intro-body').show(); if (id == "dashboard") toId = "../src/pages/partials/" + id + ".php"; else

我仍在学习Ajax,每次我想使用Ajax更改页面内容时,我都会使用以下脚本:

function load_page(id)
{
    $.ajaxSetup({ cache: false });

    var toId = "";

    $('#ajax-intro-body').show();

    if (id == "dashboard")
        toId = "../src/pages/partials/" + id + ".php";
    else
        toId = "../src/pages/" + id + ".php";

    $.ajax({
        url:toId,
        method:"POST",
        cache: false,
        headers: { "cache-control": "no-cache" },
        data:{},
        success:function(data)
        {
         if (data == "session_expired"){
             location.replace("../src/pages/login/")
         }else{
              // Show output data
              $('#ajax-content').html(data);
              // Set refresh address id
              $('.refresh-content').attr('id',id);
              // Fade out the loading bar body
              $('#ajax-intro-body').fadeOut(100);
              // Remove animation from sync
              $('#refresh-icon').removeClass("fa-spin");
         }
        }
    });
}
所以我认为代码很容易理解。现在我得到了一个“项目页面”,您也可以在其中删除它,这个页面正在使用上面的脚本加载,我得到了以下php代码:

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
        if (isset($_GET['id'])){ 

        $("#dialog-3").dialog({
        autoOpen: false,//remove this and the click to aut open
        bgiframe: true,
        width: 340,
        modal: true,
        resizable: false,
        buttons: {
                "Delete":function(){
                        $(this).dialog("close");

                        $.ajax({
                                type: "POST",
                                url: "../src/requests/deleteproject.php",
                                data: {
                                    id: <?php echo $projectid; ?>,
                                    flag: true,
                                },
                                success: function (data) {
                                    load_page('projects/listprojects');
                                }
                        });

                },
                Cancel: function() {
                        $(this).dialog("close");
                }
        }
});
}
}
if($\u服务器['REQUEST\u METHOD']='GET'){
如果(isset($_GET['id']){
$(“#dialog-3”).dialog({
autoOpen:false,//删除此项并单击以自动打开
bgiframe:是的,
宽度:340,
莫代尔:是的,
可调整大小:false,
按钮:{
“删除”:函数(){
$(此).dialog(“关闭”);
$.ajax({
类型:“POST”,
url:“../src/requests/deleteproject.php”,
数据:{
id:,
旗帜:是的,
},
成功:功能(数据){
加载页面(“项目/列表项目”);
}
});
},
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
}
}
所以你可以看到,如果我想删除它,我正试图在项目页面中执行和ajax请求。使用browser network(浏览器网络)选项卡,我可以看到,当我调用项目页面时,GET参数id实际上被更改为正确的号码,但实际上它没有更新id
id:,
。我已经读到,我需要在ajax请求中将缓存设置为false,但它似乎不起作用,因此我无法更新Id


你们知道吗?谢谢大家!

您确定可以像这样混合使用js和php代码吗?php代码似乎是用于GET请求的,但您的ajax方法是POST。这是实际的PHP还是只是从中提取的缺少重要部分?@u_mulder是的,你可以这样做。@RamRaider你也对,我使用POST请求修复并设置了所有内容,但问题仍然存在,我认为您的解决方案是正确的,但ID更改的唯一时刻是我使用CTRL+R刷新页面时。否则,如果我删除一个项目,然后创建一个新项目,该页面仍然指向删除上一个项目。我还执行了一些测试,使用新ID设置隐藏输入,但由于某些原因,它似乎可以工作从第二次开始,我无法使用php将ID动态分配给JS。