当jQuery的使用$阿贾克斯,我怎么能故意抛出一个错误加载的文件吗?

StackOverflow https://stackoverflow.com/questions/2212964

  •  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响应)

技术上您的请求成功,但验证失败,这是不本身的错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top