我正在从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.

推荐答案

try 如下所示修改您的AJAX:

$.ajax({
    url: '/Test/SendEmailWithCode',
    type: "POST",
    data:{
            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) {

        }
    }
});

结果:

enter image description here

Jquery相关问答推荐

Flask,如何为ajax调用返回成功状态码

Ajax 替换而不是追加

在文本框中的最后一个字符之后设置焦点

jQuery 的元素或类 LIKE Select 器?

如何 Select 具有特定文本的所有锚标记

如何使用jQuery删除父元素

ASP .NET MVC 在每个字段级别禁用客户端验证

ASP.Net 母版页和文件路径问题

删除所有子元素的 CLASS

jQuery 判断 是否存在并且有一个值

如何使用 Twitter Bootstrap 弹出框进行 jQuery 验证通知?

如何从表格单元格 (td) 中获取相应的表格标题 (th)?

为什么不推荐$().ready(handler)?

jQuery 和 jQuery Mobile 的区别?

图片转Base64

jQuery slideUp().remove() 在删除发生之前似乎没有显示 slideUp 动画

你能在不影响历史的情况下使用哈希导航吗?

为什么要使用发布/订阅模式(在 JS/jQuery 中)?

使用 jquery 禁用文本框?

jQuery中的wait()或sleep()函数?