2012-12-19 13 views
13

मैं स्प्रिंग एमवीसी के लिए नया हूं। मैंमॉडल के साथ AJAX (jquery) में वसंत रूप सबमिट करने के लिए कैसे करें

<form:form acion="/myaction.htm" method="post" modelAttribute="myForm" id="formid"> इस तरह एक रूप है, और एक नियंत्रक कि json रिटर्न

public @ResponseBody ResultObject doPost(@ModelAttribute("myForm") MyForm myForm){ sysout("myform.input"); }

मैं इस $("#formid").submit(); का उपयोग कर प्रस्तुत करने के लिए कर रहा हूँ है और मेरे modelAttribute ठीक काम कर रहा है, यूआई से मान लेने।

मेरा प्रश्न है, इस फ़ॉर्म को jquery AJAX तरीके से कैसे सबमिट करें? मैं इस कोशिश की,

$.ajax({ 
type:"post", 
url:"/myaction.htm", 
async: false, 
dataType: "json", 
success: function(){ 
alert("success"); 
} 

}); 

फ़ॉर्म सबमिट किया जाता लेकिन modelAttribute मूल्यों nulls कर रहे हैं, कैसे modelAttribute वस्तु (वस्तु है कि फार्म का उपयोग करके किया जाता है) शामिल करने के लिए है, जबकि जमा करने?

उत्तर

2

अपने ModelAttributes आबादी वाले नहीं कर रहे हैं आप server.Form डेटा के लिए किसी भी पैरामीटर गुजर नहीं कर रहे हैं के रूप में सर्वर

$.post('myaction.htm', $('#formid').serialize()) को तैनात किया जाना है ajax पोस्ट अनुरोध भेजना है।

52

आपको डेटा पोस्ट करने की आवश्यकता है। जिस तरह से मैं आमतौर पर करता हूं वह निम्नलिखित का उपयोग कर रहा है।

var str = $("#myForm").serialize(); 

$.ajax({ 
    type:"post", 
    data:str, 
    url:"/myaction.htm", 
    async: false, 
    dataType: "json", 
    success: function(){ 
     alert("success"); 
    } 
}); 
+0

अब काम कर रहा है, धन्यवाद !! – Rony

+9

@Rony इसे स्वीकार करने के लिए मत भूलना अगर यह आपके लिए काम करता है। –

+0

मैं सीएसआरएफ के साथ स्प्रिंगसेक्चर का उपयोग कर रहा हूं और मुझे यह मिल रहा है: अपरिचित टोकन '_csrf': उम्मीद कर रहा था ('सत्य', 'झूठा' या 'शून्य')। उस के लिए कोई समाधान? – zygimantus

संबंधित मुद्दे