Javascript 使用jqueryajax发布表单并获得响应
我使用这段代码发布了一个使用jQueryAjax的表单。 我的问题是我想让php代码如下:Javascript 使用jqueryajax发布表单并获得响应,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我使用这段代码发布了一个使用jQueryAjax的表单。 我的问题是我想让php代码如下: if (isset($_POST[''])) { // some code here } 这是javascript代码: $("button#submit").click( function() { if( $("#username").val() == "" || $("#password").val() == "" ) $("div#status").html("Please ente
if (isset($_POST[''])) {
// some code here
}
这是javascript代码:
$("button#submit").click( function() {
if( $("#username").val() == "" || $("#password").val() == "" )
$("div#status").html("Please enter your Email");
else
$.post( $("#myForm").attr("action"), $("#myForm :input").serializeArray(),function(data) {
$("div#status").html(data);
});
$("#myForm").submit( function() {
return false;
});
});
php文件名中有6个b,但ajax url中有7个b
url: "bbbbbbb.php", <--- 7 b's
bbbbbb.php <--- 6 b's
如果您测试了代码,并且php部分工作正常,但是在jquery中无法得到响应,那么您应该检查php代码(应该是这样的):
尽管缺乏实际的问题,这里有一个裂缝的答案 第一个问题是javascript在工作时无法完成它应该完成的全部工作。javascript代码似乎希望防止通过submit事件手动提交表单。您可能希望重新组织javascript,使其看起来像:
$("#myForm").submit( function() {
return false;
});
$("button#submit").click( function() {
if( $("#username").val() == "" || $("#password").val() == "" ) {
$("div#status").html("Please enter your Email");
} else {
$.post( $("#myForm").attr("action"), $("#myForm :input").serializeArray(),function(data) {
$("div#status").html(data);
});
}
});
此外,您可能希望在jquery中查找现代事件监视的用法,以及.on()
的用法。i、 e.$(“#myForm”)。关于(“提交”,函数(){})代码>。但这并不是本文的重点
至于PHP代码,我们推断您有以下HTML表单:
<form action="login.php" id="myForm">
<label for="username">Username: </label>
<input type="text" id="username" name="username" />
<label for="password">Password: </label>
<input type="password" id="password" name="password" />
<button type="submit" id="submit" name="submit" value="submit">Submit</button>
</form>
<div id="status">Please provide username and password to login</div>
这样,只需回显希望显示在div#status中的响应即可 这只是一个不是真实名称的示例,然后添加错误处理程序以查看实际错误。我已经更新了答案以包含错误代码。代码工作正常,我测试它以修改数据库中的某些内容,代码修改它,唯一的问题是响应中是否在控制台中收到js错误消息?没有,代码工作正常,我测试它以修改数据库中的某些内容,代码修改它,唯一的问题是反应,反应有什么问题?你的PHP代码echo
ing有什么吗?你当前的PHP代码是什么?你到底想从这篇文章中得到什么?如果您要求某人编写处理从Ajax调用到PHP的POST所需的PHP代码,那么最好也为将要发布的表单元素(包括表单元素)提供HTML内容,这样我们就可以看到哪些HTML元素实际被序列化了。
$("#myForm").submit( function() {
return false;
});
$("button#submit").click( function() {
if( $("#username").val() == "" || $("#password").val() == "" ) {
$("div#status").html("Please enter your Email");
} else {
$.post( $("#myForm").attr("action"), $("#myForm :input").serializeArray(),function(data) {
$("div#status").html(data);
});
}
});
<form action="login.php" id="myForm">
<label for="username">Username: </label>
<input type="text" id="username" name="username" />
<label for="password">Password: </label>
<input type="password" id="password" name="password" />
<button type="submit" id="submit" name="submit" value="submit">Submit</button>
</form>
<div id="status">Please provide username and password to login</div>
if (!empty($_POST)) {
if (isset($_POST['submit']) && $_POST['submit'] == 'submit') {
// validate $_POST contains username and password
...
// sanitize username and password
$username = sanitize($_POST['username']);
$password = sanitize($_POST['password']);
// do my processing
// doLogin returns true for successful login, or message contain error string
$result = doLogin($_POST['username'], $_POST['password']);
if ($result === true) {
echo 'You have successfully logged in';
} else {
echo $result;
}
} else {
echo 'Unknown form action';
}
} else {
// do GET processing
}