我相信這是一個簡單的解決方案,但它讓我瘋狂。我有一個Ruby on Rails應用程序,我正在對jQuery按鈕單擊事件的控制器操作進行簡單的AJAX調用,以便在成功提交時提交數據並啓動模式彈出窗口。見下面的代碼。頁面繼續在Ruby on Rails中使用AJAX調用重新加載應用程序
<script type="text/javascript">
$('.linkclass').click(function() {
id = $(this).attr('id');
event.preventDefault();
$.ajax({
url: "/controller_name/action_name/" + id,
type: "GET",
success: function (data) {
// call my modal pop-up
$("#dialog").dialog();
}
});
});
</script>
在這個問題的視圖中唯一與HTML相關的HTML(模態div和鏈接HTML)。
<%= link_to "Submit your info", "/controller_name_name/action_name/#{product.id}", :id => product.id, :class => "linkclass" %>
<div id="dialog" title="Basic dialog" style="display:none">
<p>Your data has been successfully submitted!</p>
</div>
此代碼工作完全在Javascript也是在視圖,頁面沒有加載,因爲我想:同樣,當Javascript也是在針對這一工作正常。但是,當我將此JavaScript代碼(不包括腳本標記)放在單獨的Javascript文件中時,它會在單擊鏈接時刷新頁面。一切都提交罰款,但頁面重新加載/刷新,我不希望它重新加載。當我將它放在單獨的文件中時,是否忘記添加額外的代碼?單獨的js文件位於assets/javascript文件夾中,幷包含在HTML中(我在查看源中看到它),所以這不是問題。
任何意見,將不勝感激。
發佈該按鈕所在的html。 – 2014-09-27 00:18:34
我發佈了模態HTML。其他視圖代碼似乎與問題無關(只是簡單的文本)。但是,如果我需要在頁面中發佈整個視圖,我會。這只是頭js和css文件很長。 – thenextmogul 2014-09-27 00:23:53
ajax調用如何被觸發?有沒有提交按鈕或什麼? – 2014-09-27 00:24:52