3
到目前爲止,我已經能夠通過AJAX調用將簡單的字符串發送到Struts2動作類。這一次,我需要做的是相同的,但一個String數組,所以我改變了這樣的代碼:使用jQuery AJAX調用發送數組到Struts2動作
1 AJAX調用:
var test = [1, 2, 3, 4, 5];
$.ajax({
method: "POST",
url: "createexperiment4.action",
data: { test : test },
success:
function()
{
window.location = "loadexperiments.action";
}
});
2. CreateExperiment4Action.java :
private String[] test;
[...]
public void setTest(String[] test)
{
this.test = test;
}
但是,數據並沒有到達動作的範圍。此外,我不斷收到此警告,這當然必須是我的問題的關鍵:
警告:參數[test []]與acceptedPattern模式不匹配!
也許這是某種配置問題?
試着在你的ajax請求中設置'traditional:true,' – Musa
究竟是什麼被髮送?從開發者網絡控制檯發佈輸出。 –
謝謝@Musa,它取得了訣竅。我已經嘗試過'$ .ajaxSettings.traditional = true; '(看到[這裏](http://stackoverflow.com/questions/3508550/http-array-parameters-with-struts-2-via-an-ajax-call)),沒有任何效果。如果您將它作爲答案發布,我當然會接受它。 @AleksandrM,除了這個測試,它將是一個數組,包含表中一組(檢查)複選框的ID。 – jaff