2013-05-23 2 views
1

У меня есть форма, которая должна отправить CSV-файл на сервер, а затем добавить в него слова в текстовое поле на моей странице. Я использую Remotipart для загрузки .csv с использованием AJAX, но я не могу получить javascript в ответе сервера для выполнения. Вот соответствующие части моего кода:Remotipart JS Not Executing

форме:

=form_tag(upload_canvas_words_admin_page_widget_widget_instance_path(widget.page, widget),:method=>'post',:remote=>true,:multipart=>true,:class=>"upload_words_csv") do 
     = label_tag "Upload File" 
     = file_field_tag "file" 
     = submit_tag "Upload" 

Контроллер:

def upload_canvas_words 
    @csv_text = params[:file].read 
end 

.js.haml Файл:

= remotipart_response do 
    - if remotipart_submitted? 
     alert('#{@csv_text}'); 
     alert('!'); 
    - else 
     alert('WHYYYYY?'); 

Когда я смотрю на ответ, я вижу, что javascript завернут в кучу html, который, как я полагаю, имеет какое-то отношение к транспорту iFrame. Но javascript никогда не выполняется.

+0

ли он работал для вас? Я также сталкиваюсь с той же проблемой. – RailsEnthusiast

+0

Я никогда не работал, но разработчик ответил на билет, который я сделал: https://github.com/JangoSteve/remotipart/issues/66 –

+0

Я решил проблему, используя этот https://github.com/JangoSteve/remotipart/issues/89, и это работает для меня – RailsEnthusiast

ответ

0

См. Этот вопрос. И попробуйте следовать приведенному здесь решению.

https://github.com/JangoSteve/remotipart/issues/89

Так что же происходит, что réponse прибывает в браузер с HTML сущности (как ") внутри текстового поля. Когда код js для оценки извлекается, объекты html заменяются их соответствующими символами (например, " на ').

Это свойство текстового поля. Так он не получает казнены

0

Добавление data: {type: :script} к форме должны быть затруднительного положения