[英]How do I validate my form within PHP via JQuery Ajax call?
如何在PHP中驗證我的代碼而又不會在main.js的ajax定義中定義錯誤消息?
注意:Chrome控制台返回:XMLHttpRequest無法加載文件:/// C:/Documents/Mini%20Revision%20Projects/Project%20Website%203/ajax.php。 收到無效的回應。 因此,不允許訪問原始“空”。
下面是我的代碼:
main.html中
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="C:\Documents\jQuery\jquery2.js"></script>
</head>
<body>
<ul id="info1">
<li>Put anything in the field below.</li>
</ul>
<form id="form1">
<input type="text" name="field1" id="field1">
<input type="submit" name="submit" id="submit" value="Submit Form">
</form>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
main.js
$(document).ready(function() {
$("#form1").submit(function( event ) {
event.preventDefault();
//alert("happy");
$.ajax({
type: 'POST',
url: 'ajax.php',
data: $(this).serialize(),
dataType: 'json',
success: function (data) {
console.log(data);
$("#info1").html(data.msg);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus);
alert("Error: " + errorThrown);
}
});
});
});
ajax.php
<?php
class ajaxValidate {
function formValidate() {
//Put form elements into post variables (this is where you would sanitize your data)
$field1 = @$_POST['field1'];
//Establish values that will be returned via ajax
$return = array();
$return['msg'] = '';
$return['error'] = false;
//Begin form validation functionality
if (!isset($field1) || empty($field1)){
$return['error'] = true;
$return['msg'] .= '<li>Error: Field1 is empty.</li>';
}
//Begin form success functionality
if ($return['error'] === false){
$return['msg'] = '<li>Success Message</li>';
}
//Return json encoded results
return json_encode($return);
}
}
$ajaxValidate = new ajaxValidate;
echo $ajaxValidate->formValidate();
?>
首先,驗證PHP是否未返回警告或嚴重錯誤。 將此代碼插入代碼頂部。 如果PHP返回隱藏的錯誤,則成功數據值將為null。
ini_set("display_errors", "On");
error_reporting(E_ALL);
我認為,如果要在php中返回JSON數組,則需要調用一個數組。
$("#info1").html(data['msg']);
嘗試返回發布值以驗證$ _POST是否不為空:
return json_encode($_POST);
如果直接定義第一行,則無需定義空數組。
//$return = array();
$return['msg'] = '';
您需要安裝PHP服務器才能運行PHP腳本。 安裝類似XAMPP(windows)或MAMP(linux)的東西
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.