2009-08-13 41 views
0

我目前正在使用Struts 1開發一個Web應用程序。我最近開始使用AJAX技術,並且遇到了一些問題。如何使用AJAX在Action類中獲取Struts表單bean

我打電話的操作方法(通過AJAX)來驗證我的形式,但沒有數值的形式改變豆時,它得到的操作方法。我想這是因爲通過AJAX調用動作不會將表單提交給動作方法。我對嗎?我嘗試將表單值作爲JSON對象發送,但我無法在動作類中解析它,因爲;據我所知,我需要一個外部庫來這樣做,不幸的是,公司政策不允許我使用外部庫。有沒有其他方式發送表單?

由於提前, 卡洛斯

回答

0

是的,你是正確的。 AJAX所發生的一切都是將請求發送到特定的URL,而不是表單提交。

處理這個最簡單的方法是添加要驗證作爲URL參數字段,然後簡單地拉他們關閉服務器的HTTP請求(不記得是和Struts多麼容易)。

+0

啊哈,我明白了。我想過,但我想避免它,因爲它的形式非常大。我會嘗試這種方式,看看會發生什麼。 感謝您的回答。 – 2009-08-13 08:33:30

+0

我確定有一種方法可以將參數放入HTTP請求中(這是他們與表單提交(我認爲)),並且效果將是相同的服務器端。 – 2009-08-13 08:43:02

0

我認爲這會爲你做。

request = $.ajax({ 
     url :'/your_action.do', 
     type :'post', 
     cache:false, 
     data :$("#formId").serialize() 
}); 

數據字段將發送所需要的ActionForm的屬性。

相關問題