我正在使用jQuery向php发送$ .post请求。 jQuery代码如下所示:
$('form').submit(function() {
username = $('input[name="username"]').val();
alert(username);
$.post('/ajax/new_user.php', {username:username}, function(data) {
alert(data);
});
});
在PHP中,我现在只想尝试这样做:
<?php
echo $_POST['username'];
?>
jQuery中的第一个警报工作并打印正确的值,但alert(data)
总是警告并清空字符串(“”)。
文件路径正确。我在我的网站上做了很多其他AJAX请求,这些请求完美无缺,所以我不确定是什么让这个请求如此不同。非常感谢任何帮助!
答案 0 :(得分:3)
因此。答案是添加一个
return false;
在submit()事件结束时。
答案 1 :(得分:1)
不应该
$.post('/ajax/new_user.php', {username:username}, function(data) {
alert(data);
});
是
$.post('/ajax/new_user.php', {"username":username}, function(data) {
alert(data);
});
答案 2 :(得分:1)
尝试替换
{username:username}
与
{'username':username}
如果不起作用,请将PHP文件中的内容替换为:
<?php
print_r($_POST);
?>
所以你可以看看你是否得到了数据。
答案 3 :(得分:0)
Pixeline的评论解决了我的问题,在提交结束时我所要做的只是return false
。