gpt4 book ai didi

ruby-on-rails - 使用 Remotipart 解析错误

转载 作者:行者123 更新时间:2023-12-01 06:36:26 25 4
gpt4 key购买 nike

我正在使用 remotipart 使用 ajax 上传和升级图像,问题是当我编辑项目时,ajax 更新数据,但 remotipart(https://github.com/leppert/remotipart) 返回“解析错误” ' 用于图像更新。

这就是我的表单的样子:

= form_for(Achievement.new), html: {multipart: true , remote: true} do |f|
= f.text_field :name
= f.text_area :description
= f.file_field :image
= f.submit 'Send'

我使用单个表单来创建、编辑和删除“成就”。这是我的js:

constructor: ->
$('.edit_button').click ->
$.ajaxSettings.dataType = "json"
@id = $(this).data('id')
@content = $(this).parent()
@name = $('.form_achievement #name')
@description = $('.form_achievement #description')
@image = $('.form_achievement .avatar img')
@button = $('.form_achievement form input:submit')
@form = $('.form_achievement form')

#Load data to edit on form
$.ajax
type: 'get'
url: "/en/private/achievements/#{@id}/edit/"

success: (data) =>
alert 'edit'
@name.val(data.achievement.name)
@description.val(data.achievement.description)
@stat.html(data.achievement.stat)
@value.val(data.achievement.value)
@image.prop 'src', data.image

#Change method of the form to put and bind event
$.ajaxSettings.dataType = "json"
@form.attr('method','put')
$('.form_achievement form').attr('action', "/en/private/achievements/#{@id}")
$('#achievement_form.accordion .form_achievement').unbind('click', NewAchievement)

@form.bind 'ajax:success', (xhr, data, status) =>
@content.slideUp 'slow', ->
$(this).remove()
alert 'Edit'

@form.bind 'ajax:error', (event, response, error) =>
alert error
@button.bind 'change', => @changeButton()


error: (data) ->
alert 'error'

changeButton: ->
@form.submit()

当我尝试进行编辑而不更改图像时,这解决了我的问题,但是当我进行编辑尝试升级到新图像时,会返回“解析错误”。谁能帮我?

最佳答案

您很可能会收到解析错误,因为您的响应实际上是 HTML。

问题是,默认情况下,remotipart 假定服务器响应是 JS。您可以根据您的情况在呈现表单时设置数据类型:

form_for(Achievement.new), html: {:'data-type' => :html, :multipart => true, :remote => true}

或者也可以在 JS 中完成,如下所示:

@form.bind 'ajax:remotipartSubmit', (event, xhr, settings) =>
settings.dataType = "html *"

关于ruby-on-rails - 使用 Remotipart 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com