註冊表格必須是Ajax,通過Ajax發送數據到服務器。當你點擊提交出現一個旋轉的齒輪。如果註冊成功,那麼消息「您已成功註冊」如果不出現錯誤消息「電子郵件地址無效」或「用戶名已經存在」等如何通過Ajax將數據發送到服務器?
- 我們包括jQuery庫頁
- 發生JQuery的添加事件不再做提交表單
- 加入jQuery的事件,使得提交給執行AJAX
- 根據消息時來到阿賈克斯,是否顯示成功或失敗
註冊表格必須是Ajax,通過Ajax發送數據到服務器。當你點擊提交出現一個旋轉的齒輪。如果註冊成功,那麼消息「您已成功註冊」如果不出現錯誤消息「電子郵件地址無效」或「用戶名已經存在」等如何通過Ajax將數據發送到服務器?
這一切大大簡化,但在JavaScript端,你可以這樣做:
var params = {"email": $("input#email")
$.post(yourserver.php, params, validate, "json")
function validate(response) {
if (response.success) {
console.log("Allgood")
} else {
console.log(response.message)
}
}
,並在PHP的服務器端,您可以server.php是這樣的:
<?
if ($_REQUEST["email"]) {
$response = array("success" => true)
} else {
$response = array("success" => false, "message" => "Missing email");
}
echo json_encode($response);
?>
function success(answer) {
$(".loader").hide(); // Hide loader element
// Back-end side must return 3 numbers, where is
// 1 - success
// 2 - invalid email
// 3 - username already exists
if (answer === 1) { // if returned code "1" then output message of success
console.log("You have successfully registered");
} else if (answer === 2) { // if returned code "2" then output message of invalid email
console.log("Invalid Email Address");
} else if (answer === 3) { // if returned code "3" then output message of username already exists
console.log("Username already exists");
}
function loading() {
$(".loader").show(); // Show loader element
}
$("#submit").on("submit", function() {
$.ajax({
url: ("/handler"), // url address of your handler
type: "POST",
data: ({
email: $("input#email"),
login: $("input#login"),
password: $("input#password")})
beforeSend: loading, // should call loading() without arguments
success: success, // should call success(answer) where answer is result which returned your server
});
});
這不是一個答案。你應該評論和解釋你的代碼。 – Anselm
已更改。覈實 –
歡迎到SO。 請閱讀[我可以問哪些主題](http://stackoverflow.com/help/on-topic) 和[如何提出一個好問題](http://stackoverflow.com/help/how-to - 問) 和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) 以及如何創建[最小,完整和可驗證的例子] (http://stackoverflow.com/help/mcve) SO是**不是一個免費的編碼或代碼轉換或調試或教程或庫查找服務** 您還必須表明,你已經努力解決你自己的問題。 – RiggsFolly