嗯,问题不是新的,正如我所看到的(真的很多),但仍然找不到自己的解决方案。
问题描述:
尝试使用$ .ajax发送POST
function checkUser(){
$.ajax({
type: 'POST',
url: 'ajax/checkUser.php',
data: 'uname='+$("#username").val()+'&pword='+$("#password").val(),
success: function(){
someNewFunc();
},
});
};
这个函数我打电话给:
$(document).ready(function(){
$(".button.postfix.login").on("click", function(){
if (($("#username").val() != "") && ($("#password").val() != "")) {
hide(); <-- hide pop ups about empty field
checkUser();
} else {$("#empty").show();} <-- pop ups
});
});
此处包含元素的代码:
<input id="username" type="text" placeholder="Username" />
<input id="password" type="password" placeholder="Password" />
<a class="button postfix login" href="#"
onclick="event.preventDefault();">Sign in</a>
我猜数据已经出来了,但是checkUser.php页面并没有得到任何结果。 我做错了什么?
P.S。 checkUser.php:
<?php
print_r($_POST);
?>
结果 - 数组()
P.P.S。顺便说一句,如果POST改为GET它正在工作,但需要POST
答案 0 :(得分:0)
你的someNewFunc
回调会引发火灾吗?您是否在Firefox的开发者控制台中看到了HTTP AJAX请求?
尝试将您的帖子数据作为字典发送到$.ajax
:
$.ajax({
type: 'POST',
data: {
uname: $("#username").val(),
pword: $("#password").val()
}
});
答案 1 :(得分:0)
$(document).ready(function(){
$(".button.postfix.login").on("click", function() {
var username = $("#username").val();
var password = $("#password").val();
if ((username != "") && (password != "")) {
hide(); <-- hide pop ups about empty field
checkUser(username, password); // Pass the variables here as a parameter
} else {
$("#empty").show();} <-- pop ups
});
// Put the parameters here
function checkUser(username, password) {
$.ajax({
type: 'POST',
url: 'ajax/checkUser.php',
data: { username:username, password:password} //It would be best to put it like that, make it the same name so it wouldn't be confusing
success: function(data){
alert(data);
},
});
};
});
所以当你打算在php上调用它时
$username = $_POST['username'];
echo $username;