JSON 参数自动。当 ajax 请求向 MVC 操作方法发出时转换为小写?

Posted

技术标签:

【中文标题】JSON 参数自动。当 ajax 请求向 MVC 操作方法发出时转换为小写?【英文标题】:JSON parameters auto. convert to lowercase when ajax request made to MVC action method? 【发布时间】:2010-09-27 11:37:50 【问题描述】:

有人知道为什么我的参数在遇到我的 ASP.NET MVC 控制器操作时被“转换”为小写吗?

我只能假设它被转换为在 ajax 请求之前查看数据值,它的大小写正确,但是在 ajax 请求期间在 .NET 中调试我的操作方法并检查传入参数时,它有转成小写了吗?

这给我带来了麻烦,因为我需要保留用户输入的案例。

下面的代码,发送的示例数据是:'SimpleDATATest1'

$.ajax(
    type: "GET",
    url: "/configuration/module-message-types/GetTranslation",
    data: "messageToTranslate=" + messageToTranslate,
    dataType: "json",
    success: function(result) 
        // Insert the returned html into the <div>.
        $('#TranslationResponse').html(result.message).fadeIn('fast');
        $("#" + ajaxLoadImgId).hide();
    ,
    error: function(req, status, error) 
        $('#TranslationResponse').text('Could not load example translation message, please try reloading the page.');
        $("#" + ajaxLoadImgId).hide();
    
);

而 MVC Action 方法签名是:

[AcceptVerbs(HttpVerbs.Get)]
    public JsonResult GetTranslation(string messageToTranslate)

但是,当检查 'messageToTranslate' 的值时,它返回为:'simpledatatest1'。

我怎样才能阻止任何力量改变这一点?

【问题讨论】:

【参考方案1】:

没关系...我发现我实现的这个是罪魁祸首:http://www.coderjournal.com/2008/03/force-mvc-route-url-lowercase/

【讨论】:

以上是关于JSON 参数自动。当 ajax 请求向 MVC 操作方法发出时转换为小写?的主要内容,如果未能解决你的问题,请参考以下文章

ajax提交数据,spring Mvc按照单个参数接收

ajax提交数据,spring Mvc按照单个参数接收

Spring MVC 学习笔记 --- [SpringMVC的数据响应(Ajax提交请求后,用JSON格式响应数据)]

如何在 ASP.NET MVC 中以 JSON 格式返回 500 错误?

Spring MVC 中 AJAX请求并返回JSON

ASP .NET MVC - 向 ajax 调用返回异常消息