应用场景:
一个html界面中使用js 用jquery的ajax 的方法,进行远程调用。如果服务器端产生错误,要求能返回给前端界面,并且进行消息提示。
- 在前端的js上进行ajax的调用
$.ajax(
{
type: "get",//使用get方法访问后台
dataType: "json",//返回json格式的数据
url: "//要访问的后台地址"
data: conditons_to_ajax_data,error : function(xhr){
//失败后调用
Messenger().post({message:$.parseJSON(xhr.responseText).errors,type:"error"});
},complete :function(){
//无论失败或者成功,完成后都会调用
},success: function(return_obj){
//成功后调用
}
});
- 服务器端rails controller 的代码
if 成功
//处理成功后的逻辑
else
//返回错误信息,并且标记respone状态是 422
render :json => { :errors => '错误信息' },:status => 422
end
- 其中js中的 Messenger() 这个ui插件是显示提示信息用的。
https://github.com/HubSpot/messenger