我正在開發一個Rails應用程序,並且我想創建一個動態數量的變量以通過AJAX請求傳遞給我的控制器。也就是說,如果只有3個對象,我想創建3個變量,如果有5個對象,則要創建5個變量。通過AJAX調用將動態變量傳遞給Rails控制器
在我的JavaScript文件中,我已經設法創建了一個動態數量的變量。
var count = parseInt("#{@matches.count}");
while(count>0){
eval("result_" + count + "= $('input:radio[name=result_" + count + "]:checked').val()");
count -= 1;
}
這將創建result_1
,result_2
,result_3
等
Ajax請求我到目前爲止是,它總是有5個結果是靜態的。我希望這是動態的。
$.ajax({
type: 'GET',
url: '/mt_results/create',
dataType: 'json',
data: {
'result_1' : { matched_id: "#{@matches.first.id}", result: result_1 },
'result_2' : { matched_id: "#{@matches.second.id}", result: result_2 },
'result_3' : { matched_id: "#{@matches.third.id}", result: result_3 },
'result_4' : { matched_id: "#{@matches.fourth.id}", result: result_4 },
'result_5' : { matched_id: "#{@matches.fifth.id}", result: result_5 }
},
success: function(e){
console.log("AWWWWWWW YEAH!!");
}
});
是接近這個動態創建的JSON對象(類似我如何創建results_#
),並將其分配給一個變量的最佳方式(姑且稱之爲data_var
)。然後,我可以通過如下所示的data_var:
data: data_var
有關如何改進我的代碼的任何提示或反饋將不勝感激。
你爲什麼要使用內聯紅寶石,然後AJAX?似乎矛盾... – elclanrs
我認爲你提出的解決方案動態創建數據是好的。 –
@elclanrs對於webdev還是比較新的,所以我不瞭解很多細微之處。這通常不是解決問題的方法嗎?此代碼的視圖是新方法,我對create方法進行AJAX調用以傳入數據並創建對象。 – Huy