今天遇到了一个看似简单的问题,但是确实花了我一点时间去调查。
问题的现象时,前台发送ajax请求更新数据库的数据,数据库的数据能成功更新,但是ajax一直返回失败。
ajax的请求格式如下:
$.ajax({
url:请求资源的url,
type:'POST',
dataType:'json',
data:ko.utils.stringifyJson(要更新的数据),
async: true
}).done(function(data,textStatus,jqXHR){
更新成功
}).fail(function(jqXHR,errorThrown){
更新失败
}).always(function(jqXHR){
});
请求发送了,后台根据要求进行更新数据库,都能够正常执行,后台返回信息的格式如下:
response.setstatus(200)
response.end()
后来发现问题的所在了,我在发送ajax请求的时候,【dataType】配置的是【json】,即返回的数据格式是json格式的。
而当后台成功执行操作后,我直接设置了返回的状态为200,没有返回任何数据。所以ajax会返回错误。
最后的解决方法就是将【dataType】配置为【text】,就可以了。
原文链接:https://www.f2er.com/ajax/164360.html