2

我已经使用表单值对操作进行了 HTTP POST:

名称=123+456

但在我的行动中,它是通过以下方式实现的:

123 456

因此模型绑定器将“+”替换为空格。

[HttpPost]
public JsonResult MyAction(string name)
{

有任何想法吗?我是否必须创建自定义模型绑定器或其他东西?

编辑:

这在jquery中发布如下:

$.ajax({
...
data: "name=" + $('#signin-username').val()
...
});

我应该使用 JSON.stringify 还是类似的东西?还是我必须手动编码?

4

2 回答 2

6

+字符是通常在 URL 中编码空格的方式。尝试编码+

name=123%2B456

在您的 jQuery 中,使用以下encodeURIComponent方法:

$.ajax({
    ...
    data: "name=" + encodeURIComponent($('#signin-username').val())
    ...
});
于 2014-01-08T23:22:19.000 回答
1

这是因为当数据被 URL 编码时,+ 表示之前有一个空格。

尝试设置一个不同的标题,声明它应该被解析为纯文本。

很抱歉没有告诉你标题,而是从 iPhone 上回答,所以目前资源非常有限。

于 2014-01-08T23:26:20.493 回答