jQuery ajaxSubmit调用始终返回0响应代码,response.statusText=';不适用';

jQuery ajaxSubmit调用始终返回0响应代码,response.statusText=';不适用';,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,背景:jQuery1.5.2,RubyonRails 主要的问题似乎是无论web服务器告诉我返回什么,我都会得到一个0响应代码 我有一个应用程序,在模型验证失败时返回422,但由于某种原因,每次都会调用success函数 $("#form").ajaxSubmit({ dataType: 'json', success: function(data, status, response) { // stuff }, erro

背景:jQuery1.5.2,RubyonRails

主要的问题似乎是无论web服务器告诉我返回什么,我都会得到一个0响应代码

我有一个应用程序,在模型验证失败时返回422,但由于某种原因,每次都会调用success函数

     $("#form").ajaxSubmit({
      dataType: 'json',
      success: function(data, status, response) {
        // stuff
      },
      error: function(data) {
        // stuff
      }
     });
当我在console.log中记录所有内容时,我看到的是:

POST http://site/favicons 422 (Unprocessable Entity)
data: Object
  favicon: "Image must be 16x16 pixels"
  __proto__: Object

status: success

response:Object
abort: function (status) {
aborted: 0
getAllResponseHeaders: function () {}
getResponseHeader: function (header){
responseText: "{"favicon":"Image must be 16x16 pixels"}"
responseXML: null
setRequestHeader: function () {}
status: 0
statusText: "n/a"
__proto__: Object

问题是因为我正在进行文件上载,它总是返回0和n/a

问题是因为我在上传文件,它总是返回0和n/a

您可以尝试返回500或404并查看jQuery的功能吗?您使用的是哪个版本的jQuery?无论我为状态代码返回什么,根据记录的jQuery对象,status的值都是0,statusText是n/a。我准备说这不是jQuery的问题…你能试着返回500或404,看看jQuery是做什么的吗?你使用的是哪个版本的jQuery?无论我返回什么状态代码,根据记录的jQuery对象,status的值是0,statusText是n/a。我准备说这不是jQuery的问题……它还不允许我接受自己的答案,但这就是问题所在。我没有意识到jquery插件会创建一个隐藏的iframe。我使用的是RubyonRails,所以我创建了一个.js.erb文件,它基本上返回要执行的原始js。它还不允许我接受自己的答案,但这就是问题所在。我没有意识到jquery插件会创建一个隐藏的iframe。我使用的是RubyonRails,所以我创建了一个.js.erb文件,它基本上返回要执行的原始js。