मैं वसंत नियंत्रक से जावास्क्रिप्ट तक डेटा पास करने की कोशिश कर रहा हूं लेकिन बिना किसी किस्मत के। क्या मुझे ऐसा करने के लिए AJAX का उपयोग करना चाहिए? कृपया आप मुझे कुछ संकेत दे सकते हैं कि यह कैसे करें? सबसे अच्छा तरीका क्या है?जावा से जावास्क्रिप्ट से जेसन ऑब्जेक्ट को कैसे पास किया जाए?
मेरी नियंत्रक में मैं पारित करने के लिए कोशिश डेटा:
@RequestMapping(value = "/map", method = RequestMethod.GET)
public String map(ModelMap model) {
...
model.addAttribute("trackpoints", json);
return "map";
}
जहां json एक gson वस्तु (JSONObject) युक्त है: मेरे jsp फ़ाइल में
{"trackpoints":[{"latitude":52.390556,"longitude":16.920295},
{"latitude":52.390606,"longitude":16.920262}]}
मेरे पास है:
<script type="text/javascript">
var myJSON = {};
myJSON = ${trackpoints};
document.writeln(myJSON.trackpoints);
</script>
लेकिन परिणाम यह है:
[object Object],[object Object]
मैं और अधिक विस्तार में इस की व्याख्या:>
मैं नक्शा प्रदर्शित और अक्षां कई से समन्वित पथ आरेखित, देशांतर करने के लिए उपयोग गूगल मैप्स एपीआई चाहते हैं। मुझे लगता है कि जेसन सूची से बेहतर होगा, लेकिन मैं गलत हो सकता हूं।
मैं प्रलेखन से कोड समायोजित करने का प्रयास करता हूं - नीचे दिए गए कोड में मैं हार्डकोडेड निर्देशांक को लूप के साथ प्रतिस्थापित करने की कोशिश करता हूं, और जेसन ऑब्जेक्ट से मानों को प्रतिस्थापित करता हूं।
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(0, -180);
var myOptions = {
zoom : 3,
center : myLatLng,
mapTypeId : google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var flightPlanCoordinates = [
new google.maps.LatLng(37.772323, -122.214897),
new google.maps.LatLng(21.291982, -157.821856),
new google.maps.LatLng(-18.142599, 178.431),
new google.maps.LatLng(-27.46758, 153.027892) ];
var flightPath = new google.maps.Polyline({
path : flightPlanCoordinates,
strokeColor : "#FF0000",
strokeOpacity : 1.0,
strokeWeight : 2
});
flightPath.setMap(map);
}
</script>
मैं आशा है कि यह अब और अधिक स्पष्ट है :)