0

单击链接时,我想将数据发送到 php 文件

<a href="test.html" onclick ="post()">click me</a>

我有一个外部 JS 文件

function post(){
   $.post("myPhp.php", { name: "John" });
}

但是当我检查我的 PHP 文件时,什么都没有发布。

$_POST['name']未定义。

我究竟做错了什么?谢谢你的帮助。

4

5 回答 5

3

尝试这样的事情,原因是您的代码无法正常工作,因为在您提交 ajax 请求之前,您的页面会被重定向

   <a href="test.html" onclick ="return post()">click me</a>

JAVASCRIPT代码

function post(){
   $.post("myPhp.php", { name: "John" });
   return false;
}

编辑代码

重定向页面使用异步

    function post(){
       $.ajax({url:"myPhp.php", 
              data: {name: "John"},
              type:'post',
              async: false,
              success: function(data){
                return true;    
              },
         });
    }
于 2013-10-26T05:07:35.467 回答
1

我认为它在您的 ajax 完成之前重定向到相应的页面。所以尝试使用以下代码停止该重定向:

<a href="javscript:void(0)" onclick ="post()">click me</a>

function post(){
   $.post("myPhp.php", { name: "John" },function(){
    window.location.href('test.html');
    });
}
于 2013-10-26T05:19:11.107 回答
0

我遇到了同样的问题。如果你使用jquery.redirect.min.js作为你的 jquery 插件,你可以使用如下。它为您提供 POST 方法。

   $().redirect("myPhp.php", { name: "John" });

对我来说很好。

于 2013-10-26T05:00:35.507 回答
0

认为错误在于名称......它应该是一些字符串。

var name = 'name';

or 

data: {'name' : 'john'}

希望这可以帮助。还可以尝试添加回调以检查您的帖子数据是否发送成功。

于 2013-10-26T04:56:37.677 回答
-1

尝试以下

function post(){
   $.ajax({url:"myPhp.php", 
          data: {name: "John"},
          type:'post',
          success: funcation(data){},
          });
}

或在这里找到 $.post 的快速概述,然后正确使用它http://api.jquery.com/jQuery.post/

于 2013-10-26T04:51:00.313 回答