POST数据未从AJAX传递到PHP文件

时间:2017-12-26 19:21:30

标签: javascript php jquery ajax

作为点击测试我从jQuery发送:

$(document).ready(function() {
    /* Updated new Item */
    $(".CRUD-update").click(function(e) {
        var form_action = $("#update-user").find("form").attr("action");
        alert("HERERERERE");
        $.ajax({
            type: 'POST',
            url: url + form_action,
            data: {
                test: 'Hi there!'
            },
            success: function(data) {
                alert(data);
                toastr.success('Item Updated Successfully.', 'Success Alert', {
                    timeOut: 5000
                });
            }
        });
         alert("End"); /*Just added. Shouldn't this fire when it is done?*/
    });
});

到这个php脚本

<?php
   if(isset($_POST['test'])){
       echo "TEST ".$_POST['test'];
   }
   echo "NOT SET";
   echo "USERID ".$_SESSION['user_id'];
}
?>

我没有获得POST数据。警报在jQuery文件中触发,我的PHP文件获得重定向,只是没有POST数据。

这让我疯狂了几天。有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我测试了你的代码,发现了两件破坏它的东西。

  • url中的url + form_action应该被移除,因为从来没有url变量的初始声明。您只需将其更改为url: form_action

  • 即可
  • 收到帖子的php有语法错误。你在最底部添加了一个紧密的花括号。我认为您可能需要在else {之前添加echo "NOT SET";来解决此问题。

注意:如果使用正确的代码编辑器,可以避免上述问题。因为代码编辑器会自动捕获这些问题并为您节省数天的痛苦。

答案 1 :(得分:0)

原来jquery slim不支持ajax。因此,所有这些小时的故障排除都是徒劳的。感谢所有提供建议和帮助的人。