gpt4 book ai didi

javascript - 在 jquery post ASP.NET MVC 之前转义字符的最佳方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:28 24 4
gpt4 key购买 nike

我是 ASP.NET MVC 的新手。我正在构建一个供我公司内部使用的应用程序。

场景是这样的:有两个 Html.Listbox。一个具有所有数据库信息,另一个最初是空的。用户会将数据库列表框中的项目添加到空列表框中。

每次用户添加命令时,我都会在我的 EditController 中调用一个调用 ActionResult“AddCommand”的 js 函数。在 Controller 中,将添加的选定项目保存到另一个数据库表中。

这是代码(每次添加项目时都会调用此代码):

function Add(listbox) { ...
//skipping initializing code for berevity

var url = "/Edit/AddCommand/" + cmd;

$.post(url);

}

因此,当“cmd”是一个包含“/”、“:”、“%”、“?”等(某种特殊字符)的项目时,就会出现问题

所以我想知道的是,转义这些字符的最佳方法是什么?现在我正在检查数据库的列表框项目的文本,并重建字符串,然后在 Controller 中,我正在获取构建的字符串并将其恢复到原始状态。

例如,如果他们添加的项目是“猫/狗”,我将“猫[SLASH]狗”发送到 Controller ,然后在 Controller 中将其改回“猫/狗”。

显然这是一个可怕的 hack,所以我一定遗漏了一些东西。任何帮助将不胜感激。

最佳答案

为什么不把这个从 URI 中去掉呢?您正在执行 POST,因此请将其放入表单中。

如果您的操作是:

public ActionResult AddCommand(string cmd) { // ...

...然后你可以这样做:

var url = "/Edit/AddCommand";
var data = { cmd: cmd };
$.post(url, data);

...一切都将“正常工作”,无需单独的编码步骤。

关于javascript - 在 jquery post ASP.NET MVC 之前转义字符的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2297977/

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