当jQuery的使用$阿贾克斯,我怎么能故意抛出一个错误加载的文件吗?
-
19-09-2019 - |
题
在我的文档我有这样的脚本:
$.ajax({ type:"POST",url:"ajax.php",data:data,
success: function() {
//onsuccess
},
error: function() {
//onerror
}
});
我怎样才能在文件ajax.php
,故意抛出一个错误?是否足以只是抛出一个400 HTTP状态代码什么的? (如果是的话,是400正确的?)
为什么我问的是,我想用这个来提交表单到服务器,如果一个领域没有填写正确我想提醒通过$.ajax
错误参数的用户。我知道我可以在第一时间做到这一点使用JavaScript,但我希望我能做到这样,(所以我不必两次写验证)。的但是,当然,通过做这种方式,我无法从其他分离不同的字段。强>
,所以如果该字段
name
没有正确填写,则返回字段的名称(即name
)。难道不足以做这样的事情:
在ajax.php:
if (isFilledOutProperly($name) == false) {
echo "name";
}
else {
echo "success";
}
和
success: function(data) {
if (data == 'name') {
//error
}
else {
//success
}
},
我可能是错误的轨道上,但如果有人对我怎么可以这样做一个更好的建议,请告诉我。谢谢!。
解决方案
error
的呼叫$.ajax()
条款是不是真的为你指的是环境。 error
占地面积,比如,HTTP错误的情况。验证失败是不是真的在这种情况下的错误。你最好说明那些与从服务器返回相应数据success
回调。
如果你看一下文档:
error(XMLHttpRequest, textStatus, errorThrown)Function
一个函数,如果请求被称为 失败。该函数传入三个 参数:XMLHttpRequest对象, 描述错误的类型的字符串 发生和一个可选 异常对象,如果发生了一个。 第二个可能的值 参数(除了空)是“超时”, “错误”,“notmodified”和 “parsererror”。这是一个阿贾克斯 事件。
注意:强>它谈论的错误条件是解析错误,超时,错误(HTTP),而不是修改(这是另一种HTTP响应)
技术上您的请求成功,但验证失败,这是不本身的错误。
不隶属于 StackOverflow