gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 00:26:41 29 4
gpt4 key购买 nike

我对 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com