我在包含一些文件字段的大屁股形式上使用jQuery Form Plugin。後端是Ruby on Rails。jQuery表格插件+ Ajax文件上傳+導軌
即使我相信我設置正確,但我無法讓Rails將POST請求類型識別爲'text/javascript'。
的形式如下:
<form id="listing_form" method="POST" enctype="multipart/form-data" action="/listings">
<input type="text" size="30" name="listing[venue][phone]" id="listing_venue_phone"/>
<input type="file" size="30" name="listing[venue][image]" id="listing_venue_image"/>
...plus tons of other fields
JS的樣子:
$("#listing_form").ajaxForm({ dataType: 'script' });
而且我也已經宣佈:
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader('Accept', 'text/javascript')}
});
請求它對控制器,但Rails的respond_to塊認爲它是一個正常的html請求。此外,Firebug會顯示解析器錯誤,並無法在控制檯中顯示請求和響應標頭。
如果我僅刪除文件字段並僅POST文本字段,respond_to塊會將請求作爲js請求處理並正確執行create.js.erb文件。
我該如何讓Rails正確響應請求?謝謝。
的'jQuery的形式插件dataType'選項是一個代理到'jQuery的'ajax'方法的dataType'選項。這意味着XHR期待帶有text/javascript內容類型的_response_。它與發送的內容無關。 – jason 2009-11-16 08:10:56
感謝您的回覆。我得到了這一部分,我已經編輯了一些帖子來澄清我的問題。 – cinematic 2009-11-16 08:17:40