我正在使用simple_form gem并生成表单,我正在指定remote:true选项,如下所示:
<%= simple_form_for @webinar, validate: true, remote:true do |f| %>
因此,表单的输出html是以下片段:
<form accept-charset="UTF-8" action="/webinars" class="simple_form new_webinar" data-remote="true" data-validate="true" enctype="multipart/form-data" id="new_webinar" method="post" novalidate="novalidate"> ... </form>
正如我检查的那样,当使用 remote:true
选项时,使用标准的form_for帮助器将
data-remote =’true’添加 到表单中。从生成的html中可以看到,当我使用simple_form gem时,也有这样的属性。 __
因此,在我的控制器中,我有:
def create
@webinar = Webinar.new(params[:webinar])
respond_to do |format|
if @webinar.save
format.html { redirect_to @webinar, notice: 'Webinar was successfully created.' }
format.js
format.json { render json: @webinar, status: :created, location: @webinar }
else
format.html { render action: "new" }
format.json { render json: @webinar.errors, status: :unprocessable_entity }
end
end
end
但是,始终使用 format.html 。我做错了什么?
编辑:
我已经使用logger.debug request.format来检查实际要求的格式是什么,在日志文件中它是:
文字/ HTML
因此,问题必须在simple_form生成的形式中-当我们具有“ data-remote = true”时,那里可能出什么问题了?
我不敢相信我已经花了太多时间试图理解为什么 simple_form 无法按预期工作。
最后,看来我已按照正确的方式完成了所有操作,而造成此问题的原因是:
AJAX不能用于文件上传。
为了解决我的问题,我只需要将以下gem添加到我的 Gemfile中, 然后运行 bundle install 命令:
gem 'remotipart', '~> 1.0'
然后在我的 application.js 文件中添加以下行:
// =需要jquery.remotipart
有关以下内容的更多信息:
问题内容: 是否可以通过通用JavaScript(而不是框架)检测网页上的全局AJAX调用(尤其是响应)? 我已经在StackOverflow上审查了“JavaScript检测到AJAX事件 ” 的问题,并尝试将接受的答案的代码修补到我的应用程序中,但是没有用。之前,我从未使用AJAX做任何事情,我还不足以对其进行修改以使其正常工作。 我不需要任何花哨的东西,我只需要检测所有(特定的,实际上,但是
我正试图将json从ajax发送到springboot控制器,但收到错误[org.springframework.web.bind.MissingServletRequestParameterException:Required Item[]参数“myJsonString[]”不存在] 下面是我的ajax代码 下面是我的控制器 我尝试了请求参数要求false,它让块工作,但如何将ajax数据获取到
问题内容: 我在Ubuntu16.04上将Symfony3与PhpStorm.2016.3.2一起使用 我之前从未做过AJAX请求,并且想测试从view->到controller->的控制器调用,该调用将答案发送回JSON中的视图。 所以我读了文档,但它们都很具体。因此,我的愿望是只能在视图中编写一个简单的AJAX请求,以便对其进行测试,调用控制器并在视图中返回答案。 这是我的看法: 我的控制器:
问题内容: 我想使用jQuery来获取URL,并明确检查它是否响应302重定向,但 不 遵循重定向。 jQuery 似乎总是遵循重定向。如何防止这种情况,并且不遵循重定向就可以看到重定向? 标题有很多问题,例如“ jquery ajax redirect”,但它们似乎都涉及实现其他目标,而不仅仅是直接检查服务器给出的状态。 问题答案: AJAX请求永远不会有机会不遵循重定向(即,它必须遵循重定向)
问题内容: 我有以下情况: 日历 页面,加载最近两个月的初始销售节点。这个页面有一个 加载更多 的按钮,取更多的 销售 是额外的2个月项目 销售 。 我已将调用添加到to控制器操作中,如下所示: GetSale 检索列表 SaleViewModel 和 __Sales_ 访问时,使用局部 日历 页面,点击时 加载更多的 按钮。通过此方法,将进行AJAX调用并检索列表。 所述 __Sales_ 局部
问题内容: 我的问题是,当我尝试通过Ajax将双精度或十进制数发送到C#MVC控制器时,该值始终为null。我可以将值作为字符串发送,也可以毫无问题地发送整数。为什么我不能发送带小数的值?当我检查从客户端发送的请求时,正确的值在那里(表单数据为)。 错误: 参数字典包含非空类型“ System.Decimal”的参数“ price”的空条目 HTML: Javascript: C#: 问题答案: