我有data-type: 'script'
的简单ajax请求。
如果响应的状态代码为200,则返回的javascript可以正常执行。如果它是500或403之类的错误代码,则不会执行任何操作。
我已经重读了3次文档:
" script":将响应评估为JavaScript并将其作为简单返回 文本。 ...
这并不表示它取决于成功或任何其他条件。
由于我的服务器使用" text / javascript"的响应类型进行响应,我会假设jQuery将处理该内容类型(即评估它),即使它使用' 500'状态代码(即"嘿,我不能做你要求我做的事情")
这是jQuery的问题吗?或者这是预期的行为,文档是不完整的?
答案 0 :(得分:1)
从版本1.5开始,ajax调用返回一个延迟对象。
所以你可以使用
$.ajax({/*options*/})
.done(function(data, status, jqxhr){ alert("$.ajax completed!"); })
.fail(function(jqxhr, settings, exception){ alert("$.ajax failed!"); });
note 在调用.done
方法之前,当成功发出请求时,将评估实际脚本