2008-12-30 10 views
5

पर एक मान भेजना अभी मेरे पास एक jsp पृष्ठ है जो कुछ आइटमों को सॉर्ट करने की अनुमति देता है, जब तैयार हो और एक लिंक पर क्लिक किया जाता है, जावास्क्रिप्ट फ़ंक्शन सभी जानकारी को xml में परिवर्तित करता है (एक चर में पाठ), इसके बाद मुझे इस एक्सएमएल को जेएसपी पेज पर दोबारा भेजने की जरूरत है, मैंने जानकारी को एक छिपे हुए इनपुट में डालने और फ़ॉर्म को सबमिट करने की कोशिश की, $। पोस्ट और कुछ और jQuery कार्यों के साथ भेज दिया लेकिन कुछ भी काम नहीं किया। कोई विचार?जावास्क्रिप्ट से jsp (jquery के साथ)

मेरी JSP im में

इस तरह पोस्ट को पढ़ने:

<% out.println(request.getParameter("data")); %> 

यह काम नहीं करता है:

xml = "<xml></xml>"; 
$("#form").submit(function(){ 
    alert("JS: " + $("#data").text()); 
    $("#data").text(xml); 
}); 

यह या तो:

xml = "<xml></xml>"; 
$("#data").text(xml); 
$("#form").submit(); 

.html does not काम के साथ .text की जगह

किसी भी विचार का स्वागत है, thx

उत्तर

3

आप शायद यहां गलत तरीके से जा रहे हैं। आप एचटीएमएल कोड प्रदान नहीं किया है, लेकिन मुझे लगता है यह कुछ इस तरह है:

<form method="POST" id="form"> 
    <input type="hidden" id="data" /> 
</form> 

अगर वह सही है, तो आप $("#data").val(xml); बजाय text() या html() कहना उन पाठ या HTML के साथ मिलान बात बदलने के रूप में करना चाहिए आप प्रदान कर। यह आपके वर्तमान समाधान के लिए काम करना चाहिए।

इसके अलावा मैं jQuery के $.post() और अन्य को एक्सएमएल के रूप में सब कुछ पैक करने के विकल्प के रूप में देखने का प्रस्ताव करता हूं जब तक कि यह वास्तव में बैकएंड पर नहीं है। यह सिर्फ सभी मूल्यों कुछ नामों से keyed के साथ एक जावास्क्रिप्ट वस्तु बनाने और jQuery के $.post(), $.get(), आदि इस तरह से एक के लिए पर इसे पारित करने के लिए आसान हो सकता है:

var values = {name: "John", surname: "Doe"}; 
values.age = 25; 
$.post("index.jsp", values); // this will result in a post with 3 variables: name, surname, age 

वास्तव में यह केवल अब मेरे लिए हुआ है कि आप यह भी इस तरह से (जब तक आप काम करने के अपने तरीके को पसंद करते हैं) अपनी xml भेज सकते हैं:

$.post("index.jsp", {data: "<xml><whatever-else-needs-to-be-in-here/></xml>"}); 

आप अपने आप को और अधिक यहाँ प्रबुद्ध करना चाह सकते हैं: Ajax @ jQuery docs

1

आप हमेशा डेटा भेजने के लिए XMLHttpRequest का उपयोग कर सकते हैं। यह किसी तत्व पर उपयोगकर्ता इंटरैक्शन के बिना हमारे फॉर्म सबमिट बटन के साथ किया जा सकता है। jQuery में ऐसे अनुरोधों की सहायता के लिए कार्यक्षमता बनाई गई है। कर सकते हैं GET या POST के माध्यम से मनमाने ढंग से डेटा भेजने के लिए इसका इस्तेमाल करते हैं और आप एक गुप्त फ़ॉर्म या कुछ भी स्थापित करने के लिए की जरूरत नहीं है -

http://docs.jquery.com/Ajax

+0

एक और पुस्तकालय का सुझाव देना यहाँ एक मेस बनाने की तरह है। JQuery बेहतर नहीं है, तो AJAX कॉल करने में प्रोटोटाइप के रूप में अच्छा है। –

2

jQuery Ajax एपीआई का उपयोग कर की कोशिश कर रहा।

+0

हां, हम रूपों को सबमिट नहीं करते हैं, जैसे हम परंपरागत रूप से करते हैं। एक ध्वनि सुझाव। –

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