通过JSON是MVC控制器方法无效 [英] Json passed is null in MVC controller method

查看:124
本文介绍了通过JSON是MVC控制器方法无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做下面通过JSON数据给我的MVC控制器动作

I am doing below to pass Json data to My MVC controller action

脚本

 var jInput = $("textarea");
 var count = 0;
 var jsonPackage = "{";

    $.each(jInput, function (i) {
        jInput[i].style.borderColor = "";
        if (jInput[i].value != "") {
            if (count != 0) {
                jsonPackage += ",";
            }
            count++;
            jsonPackage += "'" + jInput[i].id + "':'" + jInput[i].value.replace(/\\/g, "|").replace(/\'/g, "^") + "'";
        }
    });
    jsonPackage += "}";


    $.ajax({
        url: "Appraisal/LegalCheck",
        type: "POST",
        data: JSON.stringify(jsonPackage),
        dataType: "json",
        contentType: "application/json",
        success: function (retValue) {
            alert(retValue);
        }
    });

控制器方法

      public Dictionary<string, Illegal[]> LegalCheck(string jsonPackage)
  {

  }

 [Serializable]
   public class Illegal
   {
          public string Phrase { get; set; }
          public int StartIndex { get; set; }
   }

有关某些原因jsonPackage总是在控制器方法无效。那个S是从脚本传递样本数据,

For some reason jsonPackage is always null in the controller method. Sample data that s being passed from the script is,

jsonPackage - {'CommentTextarea_1181_1183':'ghhgghhhgd','CommentTextarea_1181_1184':'Coments','CommentTextarea_1181_1185':'comentss'}

我在做什么错在这里?为什么我会得到空在我的控制器的方法?请建议。

What am I doing wrong here? Why am I getting null in my controller method? Please suggest.

感谢

推荐答案

尝试

$.ajax({
        url: "Appraisal/LegalCheck",
        type: "POST",
        data: {jsonPackage:JSON.stringify(jsonPackage)},
        dataType: "json",            
        success: function (retValue) {
            alert(retValue);
        }
    });

这篇关于通过JSON是MVC控制器方法无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆