我正在从jQuery调用一个控制器终结点,问题是终结点接收的所有参数都为空.
javascript
:
$.ajax({
url: '/Test/SendEmailWithCode',
type: "POST",
async: false,
contentType: "application/json",
data: JSON.stringify({
mailTo: mailTo,
subject: subject,
message: message,
digit32: digit32,
digit16: digit16,
code: encrypt(generateCode(), digit32, digit16).toString()
}),
success: function (data) {
$("#userCodeData").val("data");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
}
});
Controller
:
[HttpPost]
public JsonResult SendEmailWithCode(string mailTo, string subject, string message, string digit32, string digit16, string code)
{
var result = _emailService.SendEmailWithCode(mailTo, subject, message);
return new JsonResult(result);
}
显然一切都很好,但不可能,控制器中的值始终为空.下一步我可以try 什么?
编辑1
奇怪的是,如果我将POST调用替换为GET(类型:在Java脚本中的"GET"+控制器中的[HttpGet])值被正确接收,但事实并非如此,我在控制器中发送了一封邮箱,因此调用的类型应该是POST.