【问题标题】:Controller not reviving Ajax value控制器没有恢复 Ajax 值
【发布时间】:2017-11-03 23:17:04
【问题描述】:

我知道这个问题已经被问过很多次了,我确信我错过了一些非常简单的东西,但是我整天都被这个问题困扰着,不知道为什么会这样。到目前为止我的代码:

$(document).ready(function() {

$(this).on("click",
    "#submitBtn",
    function() {
        var textValue = $('.croppedImg').attr("src");
        $.ajax({
            type: 'POST',
            url: '/user/myprofile/updateavatar',
            data: textValue,
            success: function(data) {
                location.reload();
            }            
    });
    });
})

还有控制器:

 [HttpPost]
    public virtual ActionResult UpdateAvatar(string textValue)
    {
//some code
   return new JsonResult {Data = new {Status = "success"}};
    }

我已经检查了 Fiddler,并且 Ajax 调用正在向控制器发送一个字符串,但是每次我尝试调试它时,我都会得到一个 textValue 的空值。谢谢你的帮助

【问题讨论】:

    标签: jquery .net ajax model-view-controller


    【解决方案1】:

    试试这个

    $(document).ready(function() {
    
    $(this).on("click",
        "#submitBtn",
        function() {
            var textValue = $('.croppedImg').attr("src");
            $.ajax({
                type: 'POST',
                url: '/user/myprofile/updateavatar',
                data: {textValue : textValue } ,
                success: function(data) {
                    location.reload();
                }            
        });
        });
    })
    

    【讨论】:

    • JavaScript 中不需要 new 关键字。会出错
    • 我试过不使用新的关键字。非常感谢,我不敢相信我被这么愚蠢的事情困了一整天。
    【解决方案2】:

    也许用

    [AcceptVerbs(HttpVerbs.Post)]
    public virtual ActionResult UpdateAvatar(string textValue)
    {
       return new JsonResult {Data = new {Status = "success"}};
    }
    

    【讨论】:

      猜你喜欢
      • 2012-12-25
      • 1970-01-01
      • 2016-05-07
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多