前台
$.ajax({
url:$(item).attr("url"),
data: obj,
type:'put',
success:function(data){
alert('succ');
},
error:function(data){
alert('err');
}
});
后台
if @model.update_attributes(params[:model])
render :json => {:status => :success}
else
render :json => {:status => :failure}
end
后端请求处理 ok 返回 http status 200 可是却跑到 js 的 error 里去了 百撕得不到其解啊
error 函数中有参数可以得到错误信息的,可以看下有没有线索。
error:function(XMLHttpRequest, textStatus, errorThrown) {
// 通常 textStatus 和 errorThrown 之中
// 只有一个会包含信息
}
好吧 我怀疑是后端的事情 我在另一个模块前端代码差不多 后台是这样的 update 用 save 保存的
if @topo.save
render :json => "success".to_json
else
render :json => "failure".to_json
end
这个是没有问题的 很诧异 save 跟 update_attributes 的区别
render :json => {:status => :failure} => Completed 200 OK
render :json => {:status => :failure}, :status => 500 => Completed 500 Internal Server Error
http status 尽管 200 了,@model.update_attributes(params[:model])应该是失败了吧
好吧 不好意思了 有个地方写错了 切腹的心都有了
<a href="javascript:;" onclick=""></a> 写成了 <a href="javasctipt:;" onclick=""></a>
#14 楼 @blacktulip
<a href="javasctipt:;" onclick=""></a>
这个定义在了 href 属性里面 chrome 没有报错