使用http而不是AJAX提交Rails 3图像上载表单

使用http而不是AJAX提交Rails 3图像上载表单,ajax,ruby-on-rails-3,html,jquery,Ajax,Ruby On Rails 3,Html,Jquery,我正在编写一个表单,通过AJAX而不是http提交它。 表格如下: <%= form_for(:image, :remote => true, :url => {:controller=> 'questions',:action => 'upload'},:multipart => true) do |f| %> <%= f.file_field :image, :onchange => "$(this).parents('

我正在编写一个表单,通过AJAX而不是http提交它。 表格如下:

    <%= form_for(:image, :remote => true, :url => {:controller=> 'questions',:action => 'upload'},:multipart => true) do |f| %>

    <%= f.file_field :image, :onchange => "$(this).parents('form').submit();"  %>

    <% end %>
我的操作每次都呈现文本,尽管设置了远程标记,但请求似乎不是AJAX风格的(即使在最终的HTML中也正确显示)。我不知道我在这件事上哪里出了问题。我已经在FF和Chrome的最新浏览器版本中进行了测试,所以我认为这不是浏览器的问题。有什么想法吗

更新:我又做了一些调试尝试。问题在于文件字段,如果我将文件字段替换为文本字段,则请求是AJAX(其他内容保持不变)。但对于文件字段,它总是发送非AJAX请求

注意:总体目标是通过AJAX请求上传图像,响应不呈现任何内容,不呈现HTML,不重定向,也不重新加载页面。JQuery表单。sumbit()以正常方式提交表单(不是AJAX)。你必须以不同的方式来做:

$('#submitButton').click( function() {
    $.ajax({
        url: 'some-url',
        type: 'post',
        dataType: 'json',
        data: $('#myForm').serialize(),
        success: function(data) {
              // ... do something with the data...
        }
    });
});
sumbit()以正常方式(而不是Ajax)提交表单。你必须以不同的方式来做:

$('#submitButton').click( function() {
    $.ajax({
        url: 'some-url',
        type: 'post',
        dataType: 'json',
        data: $('#myForm').serialize(),
        success: function(data) {
              // ... do something with the data...
        }
    });
});

通过安装Remotipart gem使其正常工作。要使用ajax表单提交上传图像文件,这是唯一的方法。在这里找到git:

通过安装Remotipart gem使它工作起来。要使用ajax表单提交上传图像文件,这是唯一的方法。在这里找到git:

你的application.js或其他包含的js文件中有
/=require jquery
/=require jquery\u ujs
吗?嘿,是的。我做了更多的测试。问题在于文件字段,如果我将文件字段替换为文本字段,则请求是AJAX(其他内容保持不变)。但对于文件字段,它总是发送一个非AJAX请求。您的application.js或其他包含的js文件中是否有
/=require jquery
/=require jquery\u ujs
。我做了更多的测试。问题在于文件字段,如果我将文件字段替换为文本字段,则请求是AJAX(其他内容保持不变)。但对于文件字段,它总是发送一个非AJAX请求。请阅读更新。当表单字段是文本时,它可以正常工作,特别是对于图像,它会失败。另外,如果不使用插件,通过类似上面的ajax函数上传图像也很复杂。请阅读更新。当表单字段是文本时,它可以正常工作,特别是对于图像,它会失败。另外,如果不使用插件,通过上述ajax函数上传图像也很复杂。