gpt4 book ai didi

javascript - 一次 POST Grails 中的所有传入参数

转载 作者:行者123 更新时间:2023-12-03 06:08:11 25 4
gpt4 key购买 nike

我在 Grails 中有以下 JavaScript 函数:

function requestPost() {
var projectNameFilter = $("input[name='project-name-filter']").val();
var addressFilter = $("input[name='address-filter']").val();

$.post(
'${createLink(controller: "listing", action: "transactions")}',
{
projectNameFilter: eval(projectNameFilter),
addressFilter: eval(addressFilter),
listingType: "${params?.listingType}",
propertyType: "${params?.propertyType}",
},
function (data, status) {
$('#dynamic-table').html(data);
}
);
}

请注意两个参数:

  • listingType:“${params?.listingType}”
  • propertyType:“${params?.propertyType}”

我在此方法中有许多这样的参数,所有这些参数都应该传递到 Controller 中。

现在我的问题是:尽管重复执行整个过程,我如何才能一次传递所有这些参数。

最佳答案

由于您的目标是使用 javascript 传递所有参数,因此呈现的 html 需要显式包含所有参数。因此,不可能有内置的解决方案(如果您不想使用 session 并且不愿意使用已弃用的 remoteFunction 标记)。一种解决方法是迭代所有参数并插入它们。请注意,这可能是一个安全问题:

$.post('${createLink(controller: "listing", action: "transactions")}',
{
<g:each in="${params}" var="paramKeyValue">
'${paramKeyValue.key}': '${paramKeyValue.value}',
</g:each>
},...)

我建议这样做:

<g:each in="${['listType', 'propertyType']}" var="paramKey">
'${paramKey}': '${params."${paramKey}"}',
</g:each>

您还可以这样做:

${params.subMap(['listType', 'propertyType']) as JSON}

关于javascript - 一次 POST Grails 中的所有传入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39437206/

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