jquery - Grails controller sending weird JSON back to browser -
मेरे पास एक Grails (2.3.6) ऐप है जिसमें एक HTML फार्म दो और फिर, Grails / सर्वर पक्ष पर: रनटाइम पर, जब मैं ' ब्राउज़र में निम्नलिखित वापस भेज रहा है: [NY, NH, VT]। लेकिन तब ब्राउज़र में मुझे एक इसके अलावा मेरे ' ऐसा लगता है कि मेरा एक को जोड़ने का प्रयास करें: "JSON के रूप में" राज्यों में: संपादित करें: smeeb, मैंने यहां एक परीक्षण वातावरण बनाया और अपना बदल लिया है: एक्ट्रीओ से पहले नियंत्रक नाम का उपयोग करने के लिए, डेटा प्रकार के लिए कोई ज़रूरत नहीं है, और इस पर वापसी: <पूर्व> और यह काम करता है, क्या आप इसका प्रयास कर सकते हैं? & lt; select / & gt; / कोड> उसमें तत्व: एक है जो उपयोगकर्ताओं को एक
देश
चुनने की अनुमति देता है और उसके बाद, एक राज्य
जब उपयोगकर्ता एक नया देश
का चयन करता है, तो मैं राज्य
तत्व का चयन करें। ऐसा करने के लिए, देश परिवर्तन ()
पर, मुझे राज्य
& lt; div class = "blah" & gt; & Lt; लेबल = "राज्य" & gt; राज्य & lt; / label & gt; & lt; br / & gt; & Lt; g: चुनें आईडी = "राज्य" नाम = "राज्य" से = "$ {states}" / & gt; & Lt; / div & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; JQuery ('# देश')। परिवर्तन (फ़ंक्शन () {var देशनाम = $ ('# विकल्प: चयनित')। Val (); jQuery.ajax ({url: "getStateListByCountry", प्रकार: "मिलना", डेटा प्रकार : 'जेसन', डेटा: {देशनाम: देशनाम}, सफलता: फ़ंक्शन (डेटा) {चेतावनी ("सर्वर से निम्नलिखित प्राप्त:" + डेटा); $ ("# स्थिति विकल्प")। निकालें (); $। डेटा, फ़ंक्शन (कुंजी, मान) {$ ('# राज्य') .एपेंड ($ ("& lt; विकल्प & gt; & lt; / option & gt;") .attr ("value", key) .text (value));} );}, त्रुटि: फ़ंक्शन (xhr) {चेतावनी (xhr.responseText); // & lt; ---- TODO: बदलें}});}); & Lt; / स्क्रिप्ट & gt;
वर्ग MyController {// वापसी करने के लिए डमी डेटा के साथ इस stub। Def getStateListByCountry () {सूची & lt; स्ट्रिंग & gt; States = new ArrayList & lt; स्ट्रिंग & gt; () states.add ("NY") states.add ("NH") states.add ("VT") println "निम्नलिखित ब्राउज़र पर वापस भेज रहा है: $ {states}।" राइट}}
#country
' में एक नया देश चुनता हूं, तो मुझे Grails ऐप लॉग में निम्न संदेश दिखाई देता है: < / P>
चेतावनी (.. ।)
प्रिंट करता है मेरे कस्टम "पृष्ठ नहीं मिला" त्रुटि पृष्ठ का HTML! #state
' का चयन करें 3 डमी राज्य मूल्यों के साथ अद्यतन नहीं है तो Grails सर्वर सही ढंग से क्लाइंट अनुरोध प्राप्त कर रहा है, और मेरी डमी राज्य सूची को वापस भेजने का प्रयास करता है, लेकिन जिस तरह से एक "पृष्ठ नहीं मिला" टेम्पलेट वापस मिल रहा है या मेरे कोड में क्या गलत है
अपडेट
त्रुटि
फ़ंक्शन निष्पादित हो रहा है, और विचित्र एचटीएमएल मैं चेतावनी के अंदर देख रहा हूं वास्तव में
xhr.responsetext
उस विधि में पारित किया गया है। println
में getStateListByCountry
विधि पुष्टि करती है कि JSON क्लाइंट को वापस आ गया है [ "न्यूयॉर्क", "VT", "राष्ट्रीय राजमार्ग"]
। तो ऐसा लगता है कि सर्वर किसी त्रुटि को लौट रहा है, और jQuery त्रुटि
हैंडलर, नहीं सफलता हैंडलर ... विचारों को निष्पादित कर रहा है?
JSON के रूप में बताता है:
jQuery.ajax ( {Url: "नियंत्रक नाम / getStateListByCountry", प्रकार: "पाने के लिए", डेटा: देशनाम,
JSON के रूप में राज्यों को प्रस्तुत करना
Comments
Post a Comment