POST 特殊字符通过 json 添加到 MVC
POST special characters to MVC via json
我正在通过 json 向我的控制器发送一个参数,其中包含和号,字符串在该字符后被截断。已经搜索了几个小时,但找不到解决方案。
JavaScript
var url = '/Common/DownloadFile?fileName=Me&You.xlsx';
$.ajax({
type: 'POST',
url: url,
data: {},
success: function (data) {}
});
控制器
public ActionResult DownloadFile(string fileName)
{
// Here the param is coming in as 'Me'
// Code removed for clarity
}
& 符号用于分隔 URL 中的参数。如果您希望 & 符号成为参数值的一部分,您需要 URL 使用 encodeURIComponent() 之类的方法对其进行编码。
在这种特殊情况下,Me&You.xslx 的编码版本将是 Me%26You.xlsx。如果您在 GET 请求中指定您的应用程序应获得预期值。
在urls & 需要转义,因为它用于添加新的参数,如
http://hello.com"?fileName=Something&otherFileName=SomethingElse
您需要像这样对符号进行百分比编码来转义它:
/Common/DownloadFile?fileName=Me%26You.xlsx
这里有更多关于 url 参数转义的信息 escaping ampersand in url
我正在通过 json 向我的控制器发送一个参数,其中包含和号,字符串在该字符后被截断。已经搜索了几个小时,但找不到解决方案。
JavaScript
var url = '/Common/DownloadFile?fileName=Me&You.xlsx';
$.ajax({
type: 'POST',
url: url,
data: {},
success: function (data) {}
});
控制器
public ActionResult DownloadFile(string fileName)
{
// Here the param is coming in as 'Me'
// Code removed for clarity
}
& 符号用于分隔 URL 中的参数。如果您希望 & 符号成为参数值的一部分,您需要 URL 使用 encodeURIComponent() 之类的方法对其进行编码。
在这种特殊情况下,Me&You.xslx 的编码版本将是 Me%26You.xlsx。如果您在 GET 请求中指定您的应用程序应获得预期值。
在urls & 需要转义,因为它用于添加新的参数,如
http://hello.com"?fileName=Something&otherFileName=SomethingElse
您需要像这样对符号进行百分比编码来转义它:
/Common/DownloadFile?fileName=Me%26You.xlsx
这里有更多关于 url 参数转义的信息 escaping ampersand in url