我正在使用remotipart上傳和升級圖像使用ajax,問題是當我編輯項目,ajax更新數據,但remotipart(https://github.com/leppert/remotipart)返回圖像更新的「解析錯誤」。解析錯誤使用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()
這解決了我的問題,當我試圖做的,而不改變圖像的編輯,但是當我做編輯試圖提升到了一個新的圖像,返回我一個「解析錯誤」。誰能幫我?
難道有事情做與remotipart發送的事實包裹在