使用AJAX帖子而不是表单但从未满足$ _POST的条件

时间:2017-02-14 16:31:34

标签: php jquery ajax wordpress post

我目前正在尝试使用表格行中的选定值将数据发送到同一页面。用户选择被突出显示,然后当按钮的onsubmit事件被触发时,脚本运行。

我试图在同一页面上检索$_POST数据,以便用户看到他们需要填写的新表单,而不再显示上一个表格,但我从不进入if语句的内部,检查是否设置了这个:

isset($_POST['xx'])

我真的不知道我在这里做错了什么。到目前为止,这是我的代码:

$(".mypost").on("click",function(){
    $.ajax({
        url: "../ajout-correctifs/",
        type: "POST",
        data: { selectedcoll: $("#MyTable1 tr.selected input").val()},
        success: function(response){    
            window.location = "../ajout-correctifs/";
            //alert(response);
        },
        error: function(){
            alert("POST METHOD ERROR : DATA NOT POSTED - IMMINENT PAGE RELOAD..");
            window.location = "../ajout-correctifs/";
        }
    });
});

其他信息:

  • $("#MyTable1 tr.selected input")可以帮助我检索用户选择的任何内容。
  • alert("response")显示html代码

编辑:这是我的php文件:

https://raw.githubusercontent.com/SofiaEO/mypage/master/mycode.php

编辑:解决方案以防其他人遇到相同问题

我删除了url值+我使用$('body').html(response)打印页面。

1 个答案:

答案 0 :(得分:0)

  1. 检查ajax“url”param。
  2. 在您的成功功能中,您使用了“window.location”。 你不能这样做是因为在重定向之后你丢失了ajax帖子的“数据”并且在“新”重定向页面中的条件总是假的:“isset($ _ POST ['xx'])”。
  3. 因此,为了避免在ajax响应之后没有重定向。删除成功函数中的window.location;

    访问:Ajax tutorial for post and get