Javascript $.post不';好像不行
jQuery中显示了几个Javascript $.post不';好像不行,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,jQuery中显示了几个alert()调用,但是$中的alert似乎没有响应。我已经测试了PHP代码,它运行良好。我想这是我的路径,但我之前已经检查过了 <form id="login-form" method="post" class="form-inline" target="_top"> <input type="text" tabindex="2" id="username" placeholder="Username" name="email" class=
alert()
调用,但是$中的alert
似乎没有响应。我已经测试了PHP代码,它运行良好。我想这是我的路径
,但我之前已经检查过了
<form id="login-form" method="post" class="form-inline" target="_top">
<input type="text" tabindex="2" id="username" placeholder="Username" name="email" class="inputtext">
<input type="password" tabindex="3" id="userpass" placeholder="Password" name="pass" class="inputtext">
<button tabindex="4" id="loginButton">Login</button>
</form>
我的文件结构如下:
试试这个:
$(document).ready(function(e) {
$('#loginButton').click(function(e) {
$.post('../php/login.php', {
functions: 'userLogin',
username: $('#username').val(),
userpass: $('#userpass').val()
}).done(function( data ) {
alert("Data Loaded: " + data);
});
});
});
$('#login-form').submit(function(e){
e.preventDefault(); // stop standard form submission
$.post('../php/login.php', {
'username': $('#username').val(),
'userpass': $('#userpass').val()
}, function(data){
console.log(data);
});
});
按钮实际上是正常提交表单的,因为您没有给它一个type=“button”
属性,也没有对单击事件本身使用preventDefault()
不管怎样,更好的做法是挂接到表单
的提交
事件,而不是按钮的点击
。试试这个:
$('#login-form').submit(function(e){
e.preventDefault(); // stop standard form submission
$.post('../php/login.php', {
'username': $('#username').val(),
'userpass': $('#userpass').val()
}, function(data){
console.log(data);
});
});
您可能还希望从PHP代码中返回除布尔值以外的其他值,因为它将被转换为单个字符串响应。JSON似乎最适合您的情况,请查看JSON\u encode
函数
最后,请注意,您应该始终使用console.log
进行调试,因为它不会强制执行数据类型。试试这个方法。它不精确的ans可能是它的解决方案
php服务器端的echo字符串类似于
if ($queryResult == false)
echo 'false';
else
echo 'true';
然后将jquery更改为
function(data){
if(data=='true')
{
alert(data);
}
else
{
alert(data);
}
});
$(“#登录按钮”)。单击(函数(e){e.preventDefault();
而不使用type=“button”
将充当提交按钮!还请注意,您需要从php服务中回显/打印
,如果回显错误,我将添加一个处理程序