这就是我从 Controller 返回模型对象的方式。
model.addObject("gameSchList", gameSchList);
return model;
我得到了 JSON 输出形式的响应,因为我使用了 Spring JAXB 实现。 这是我从 Spring Controller 获得的输出。
{
"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 );
});
});
当我调用这个 Controller 时,它会重定向到我的主页并执行这个特定的 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 函数中使用它。希望这可以帮助。
关于javascript - 在 jquery 中访问 Spring MVC 模型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28973620/