javascript - groovy 将映射从 Controller 传递到 javascript

标签 javascript grails

我对 Grails MVC 和 javascript 还很陌生。 我遇到了一个问题,我想将 map 对象从 Controller 传递给 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
} 

现在我想将一个映射对象从 Controller 函数传递给 javascript 函数,但我不能这样做,因为 javascript 将映射视为无效的字符串对象。

下面是我对这三个函数所做的更改,但我在 ajax 调用期间收到错误消息“Uncaught SyntaxError: Unexpected string”

eg. someControllerFunction() {

    variableLink = "j-javaScriptFunction-${stringArgs1},${stringArgs2},${mapArg}" // This is a link for an ajax call 

} 

map 对象看起来像这样

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 函数的方式有关,但我无法找出确切的原因。 谁能帮我理解我做错了什么。 提前致谢

最佳答案

看起来您可能必须先将 map 转换为 JSON(这可以解释为什么它是一个字符串)。看到这个答案:https://stackoverflow.com/a/2064341/1902587

关于javascript - groovy 将映射从 Controller 传递到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31164012/

相关文章:

javascript - 带有图像的单选按钮

javascript - 无法弄清楚如何返回回调函数 - 需要替代解决方案

grails - 在 Grails 中进行数据库迁移的良好工作流程是什么?

grails 和调试 UrlMappings

grails - Grails应用程序指标可证明异步调用可带来更好的响应时间

javascript - 逗号分隔值 (1,2,3,4) 或 (1,false) 总是给出 JavaScript 中的最后一个元素?

javascript - 将图像放入 HTML Canvas(适合宽度和高度)

javascript - 如何在Javascript Plottable.js下使用独立比例制作两个直方图

grails - Spring Security核心Grails未登录

ajax - Grails SubmitRemote 'undefined'错误