单击链接时,我想将数据发送到 php 文件
<a href="test.html" onclick ="post()">click me</a>
我有一个外部 JS 文件
function post(){
$.post("myPhp.php", { name: "John" });
}
但是当我检查我的 PHP 文件时,什么都没有发布。
$_POST['name']
未定义。
我究竟做错了什么?谢谢你的帮助。
尝试这样的事情,原因是您的代码无法正常工作,因为在您提交 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;
},
});
}
我认为它在您的 ajax 完成之前重定向到相应的页面。所以尝试使用以下代码停止该重定向:
<a href="javscript:void(0)" onclick ="post()">click me</a>
function post(){
$.post("myPhp.php", { name: "John" },function(){
window.location.href('test.html');
});
}
我遇到了同样的问题。如果你使用jquery.redirect.min.js作为你的 jquery 插件,你可以使用如下。它为您提供 POST 方法。
$().redirect("myPhp.php", { name: "John" });
对我来说很好。
认为错误在于名称......它应该是一些字符串。
var name = 'name';
or
data: {'name' : 'john'}
希望这可以帮助。还可以尝试添加回调以检查您的帖子数据是否发送成功。
尝试以下
function post(){
$.ajax({url:"myPhp.php",
data: {name: "John"},
type:'post',
success: funcation(data){},
});
}
或在这里找到 $.post 的快速概述,然后正确使用它http://api.jquery.com/jQuery.post/