我已经对表单值为
的操作执行了HTTP POST名= 123 + 456
但在我的行动中它来自:
123 456
因此模型绑定器用空格替换“+”。
[HttpPost]
public JsonResult MyAction(string name)
{
有什么想法吗?我是否必须创建自定义模型绑定器?
编辑:
这是在jquery中发布的,如下所示:
$.ajax({
...
data: "name=" + $('#signin-username').val()
...
});
我应该使用JSON.stringify或类似的东西吗?或者我必须手动编码?
答案 0 :(得分:6)
+
字符是通常在URL中编码空格的方式。尝试编码+
:
name=123%2B456
在您的jQuery中,使用encodeURIComponent
方法:
$.ajax({
...
data: "name=" + encodeURIComponent($('#signin-username').val())
...
});
答案 1 :(得分:1)
这是因为当数据是URL编码时,+表示之前有空格。
尝试设置一个不同的标头,声明它应该被解析为纯文本。
很抱歉没有告诉你标题但是从iPhone接听,所以目前资源非常有限。