【发布时间】:2015-07-01 14:20:53
【问题描述】:
我对 Grails MVC 和 javascript 还很陌生。 我遇到了一个问题,我想将地图对象从控制器传递到 javascript 函数。 目前有两个参数被传递给以逗号分隔的 javascript 函数,这工作正常
eg. someControllerFunction() {
variableLink = "j-javaScriptFunction-${stringArgs1},${stringArgs2}" // This is a link for an ajax call
}
javascript函数结构如下所示
function someJavaScriptFunction (details) {
var d = details.split(",");
var strintArgs1 = d[0];
var stringArgs2 = d[1];
ajax":{
"url":"${request.contextPath}/controller/methodInController?strintArgs1=" + strintArgs1 + "&stringArgs2=" +stringArgs2
},
}
目前在ajax中调用的Controller函数是这样的
methodInController (String strintArgs1,String strintArgs2){
//some operation
}
现在我想将一个地图对象从控制器函数传递给 javascript 函数,但我无法这样做,因为 javascript 将地图视为无效的字符串对象。
以下是我对这三个函数所做的更改,但在 ajax 调用期间出现错误,提示“未捕获的语法错误:意外字符串”
eg. someControllerFunction() {
variableLink = "j-javaScriptFunction-${stringArgs1},${stringArgs2},${mapArg}" // This is a link for an ajax call
}
地图对象如下所示
mapArg = [a:[],b:[],c:[],d:[]]
javascript函数结构如下所示
function someJavaScriptFunction (details) {
var d = details.split(",");
var strintArgs1 = d[0];
var stringArgs2 = d[1];
var mapArg = d[2];
ajax":{
"url":"${request.contextPath}/controller/methodInController?strintArgs1=" + strintArgs1 + "&stringArgs2=" +stringArgs2 + "&mapArg=" +mapArg
},
}
目前在ajax中调用的Controller函数是这样的
methodInController (String strintArgs1, String strintArgs2, Object mapArg){
//some operation
}
这可能与我将其传递给 javascript 函数的方式有关,但我无法找出确切的原因。 谁能帮我理解我做错了什么。 提前致谢
【问题讨论】:
标签: javascript grails