在 jquery 中访问 Spring MVC 模型对象
Access Spring MVC model object within jquery
这就是我从控制器 return 我的模型对象的方式。
model.addObject("gameSchList", gameSchList);
return model;
我得到的响应是 JSON 输出,因为我使用了 Spring JAXB 实现。
这是我从 Spring 控制器得到的输出。
{
"gameSchList":
[
{
"team":
[
{
"alias": "A",
"logo": "A_LOGO"
},
{
"alias": "B",
"logo": "B_LOGO"
}
],
"cName": "AZ",
"id": "58",
"type": "game",
"channel": "713",
"time": "Sun 13:00PM",
"status": "pregame"
}
]
}
现在我想在文档就绪函数中访问这个 gameSchList。这是我添加到主页的外部js文件。
现在在 gameinfo.js 中,我创建了一个准备好的函数并尝试使用以下代码访问 gameSchList。我在 js 文件中需要这个要求而不使用 jstl。
$(document).ready(function(){
var list = ${gameSchList};
$.each(list, function( index, value ) {
alert( index + ": " + value );
});
});
当我调用这个控制器时,它重定向到我的主页并执行这个特定的 gameinfo.js,但它给我这个错误:
SyntaxError: missing ; before statement
我尝试了几种方法,但没有成功。
var list = ${model.gameSchList};
var list = "${model.gameSchList}";
这是一种解决方案,您可以尝试一下。在您的 jsp 中声明以下在服务器端进行评估的内容(确保它在 jsp 中而不是在外部 js 文件中)。
<script type="text/javascript">
var responseObject= ${gameSchList};
</script>
现在您可以在 js 上访问 responseObject,您可以在 document.ready 函数中使用它。希望这可以帮助。
在服务器上编译的JSP页面上,我们只能在with函数中以JSON格式声明JavaScript对象,该函数会将JSON内容转换为JavaScript浏览器下载并编译此脚本时的对象:
<script>
var object = JSON.parse('${data}');
<script/>
其他方式通过服务器Ajax请求下载JavaScript对象,浏览器自动将从服务器接收到的JSON内容编译成JavaScirpt对象:
.....
sendRequest("moderatorBuildingEntrancePage/updateBuildingLabel/ajax",sendData,
function(event, request, settings) {
var recievedObject = event.result
....
这就是我从控制器 return 我的模型对象的方式。
model.addObject("gameSchList", gameSchList);
return model;
我得到的响应是 JSON 输出,因为我使用了 Spring JAXB 实现。 这是我从 Spring 控制器得到的输出。
{
"gameSchList":
[
{
"team":
[
{
"alias": "A",
"logo": "A_LOGO"
},
{
"alias": "B",
"logo": "B_LOGO"
}
],
"cName": "AZ",
"id": "58",
"type": "game",
"channel": "713",
"time": "Sun 13:00PM",
"status": "pregame"
}
]
}
现在我想在文档就绪函数中访问这个 gameSchList。这是我添加到主页的外部js文件。
现在在 gameinfo.js 中,我创建了一个准备好的函数并尝试使用以下代码访问 gameSchList。我在 js 文件中需要这个要求而不使用 jstl。
$(document).ready(function(){
var list = ${gameSchList};
$.each(list, function( index, value ) {
alert( index + ": " + value );
});
});
当我调用这个控制器时,它重定向到我的主页并执行这个特定的 gameinfo.js,但它给我这个错误:
SyntaxError: missing ; before statement
我尝试了几种方法,但没有成功。
var list = ${model.gameSchList};
var list = "${model.gameSchList}";
这是一种解决方案,您可以尝试一下。在您的 jsp 中声明以下在服务器端进行评估的内容(确保它在 jsp 中而不是在外部 js 文件中)。
<script type="text/javascript">
var responseObject= ${gameSchList};
</script>
现在您可以在 js 上访问 responseObject,您可以在 document.ready 函数中使用它。希望这可以帮助。
在服务器上编译的JSP页面上,我们只能在with函数中以JSON格式声明JavaScript对象,该函数会将JSON内容转换为JavaScript浏览器下载并编译此脚本时的对象:
<script>
var object = JSON.parse('${data}');
<script/>
其他方式通过服务器Ajax请求下载JavaScript对象,浏览器自动将从服务器接收到的JSON内容编译成JavaScirpt对象:
.....
sendRequest("moderatorBuildingEntrancePage/updateBuildingLabel/ajax",sendData,
function(event, request, settings) {
var recievedObject = event.result
....