我如何验证我的表单在PHP通过JQuery Ajax调用
How do I validate my form within PHP via JQuery Ajax call?
我如何验证我的代码在PHP没有得到错误消息定义在ajax定义在main.js?
注意:Chrome控制台返回:XMLHttpRequest无法加载文件:///C:/Documents/Mini%20Revision%20Projects/Project%20Website%203/ajax.php。收到无效响应。因此,不允许访问原点'null'。
下面是我的代码: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返回隐藏错误,成功数据值将为空。
ini_set("display_errors", "On");
error_reporting(E_ALL);
PHP错误报告手册
PHP运行时显示错误
我认为如果你在php中返回一个JSON数组,你需要调用一个数组。
$("#info1").html(data['msg']);
尝试返回post值来验证$_POST是否为空:
return json_encode($_POST);
如果直接定义第一行,则不需要定义空数组。
//$return = array();
$return['msg'] = '';
您需要有PHP服务器,以便PHP脚本的工作。安装类似XAMPP (windows)或MAMP (linux)的程序
相关文章:
- 使用JS和PHP通过锚标记传递值
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- PHP通过AJAX更新字段值
- PHP通过URL自动填充选择框
- jQuery 和 PHP 通过 jquery 从 MYSQL 获取特定传递 id 的特定表
- PHP 通过 url 编码数据传递字符串
- 如何使用 JQuery 和 PHP 通过 POST 提交 attr 值和表单值
- 使用 PHP 通过 jquery 创建的文件
- 使用 PHP 通过 JavaScript 传递信息
- 尝试通过PHP通过XML请求下载图像文件
- 从PHP通过xhr获取数据
- Ajax回调->消息从PHP通过JSON到JS并输出到DIV
- PHP通过表单将动态内容添加到XML文件中
- 我如何验证我的表单在PHP通过JQuery Ajax调用
- php通过onLoad传递变量
- 将变量从JavaScript传递到php(通过fetch api)
- 通过AJAX和PHP通过输入HTML获取和读取文件
- HTML, AJAX, PHP -通过AJAX向PHP页面发送HTML输入数组
- PHP$通过JavaScript将一个表单字段从HTML表单粘贴到PHP
- 用PHP通过电子邮件发送动态创建的html内容