4 javascript php forms validation jquery
我理解两种语言之间的区别,但是当涉及到表单验证时.jQuery足够吗?
我可以在jQuery/JavaScript中验证我的表单,然后进行AJAX调用以将完成的表单发送到电子邮件地址吗?是否可以使用JavaScript将表单数据发送到电子邮件地址?
或者用PHP做一切更安全?
我问这个是因为使用PHP是我习惯的,但是,我最近开始使用更高级的JavaScript和jQuery.
你应该做这两个验证 - jQuery用户友好的响应用户丢失或输入错误 - 来自客户端的asap反馈.
您无法信任客户端,因此您始终必须执行服务器端数据检查以确保正确输入所有内容.
最好传递数据并在服务器端再次检查,然后完成您的操作(电子邮件,数据库插入,输出)
您可以在JQuery中创建更友好的用户界面.但是,您还应该在PHP(服务器端)中进行验证,因为如果您没有人可以通过关闭JavaScript来绕过验证.还有其他方法可以解决这个问题,但作为一般规则,永远不要相信客户端会进行验证.
换句话说,客户端验证(JQuery/JavaScript)不能取代服务器端验证.JQuery更多地用于用户体验.
既然你担心AJAX,这里有一个代码示例:
PHP
//if there is an error:
header('HTTP/1.1 500 Internal Server Error');
header('Content-Type: application/json; charset=UTF-8');
die(json_encode(array('message' => 'ERROR', 'code' => 1337)));
//if there is not an error:
header('Content-Type: application/json');
echo json_encode(array("message"=>"All good here!"));
Run Code Online (Sandbox Code Playgroud)
JQuery的
//this is on submit, but you could do other events
$(document).ready(function(){
$("form").submit(function(e)
{
e.preventDefault();
$.ajax({
type: "post",
url: "path/to/your.php",
data: $('form').serialize(),
success: function(data)
{
alert(data.message);
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
},
dataType: "json"});
}});
});
Run Code Online (Sandbox Code Playgroud)
注意:我没有测试上面的代码,但它可能会让你知道该怎么做.