我实施了帖子:
function SendMessage() {
$.ajax(
{
url: "/PostEmail/Index",
type: 'POST',
dataType: "json",
data: {contact1: "ddd@mail.com" },
success: function (result) { }
});
}
我使用此方法捕获此调用:
public class PostEmailController : Controller
{
public ActionResult Index(string contact1)
{
var contact2 = Request.Form;
return View();
}
}
实现post调用后,变量等于:
contact1= ddd@mail.com
contact2= ddd%40mail.com
知道为什么contacts2中的符号“@”出现在utf-8格式%40中,而在contact1中我得到@字符?
谢谢你的推荐。
答案 0 :(得分:0)
我认为它不是utf8编码的,而是urlencoded。
你只需要urldecode contact2。
只要您不使用多部分编码,就会始终将帖子数据传输到urlencoded。但通常urldecoding由服务器应用程序完成(例如,当你使用php时的Apache)