Javascript json数据发布到MVC返回null

时间:2014-07-11 14:16:40

标签: asp.net-mvc json angularjs post null

我正在使用MVC .Net网络应用。我试图将数据发回给控制器。这是我正在使用的Javascript / Angularjs。

        $http({
            method: 'POST',
            url: 'Save',
            data: JSON.stringify($scope.data[0]),
            headers: { 'Content-Type': 'application/json' }
        })

当我在小提琴手中看到这个时,我看到以下内容(为简洁而缩短)

        {"BL_BASIC_DDL":"","BL_BASIC_TB":"Foo Bar","BL_BASIC_NB":""}

但是当我尝试在我的C#中获取它时,我得到一个空对象或一个字典,其中包含调用的控制器和操作名称,没有其他内容。以下是我尝试失败的操作签名列表。我返回的数据是高度动态的,将被解析,因此静态类型对象不是我拍摄的。

        public JsonResult Save(string values);
        // values == null
        public JsonResult Save(List<KeyValuePair<string, string>> values);
        // values == null
        public JsonResult Save(List<Tuple<string, string>> values);
        // values == null
        public JsonResult Save(Dictionary<string, string> values);
        // values != null
        // values.Count == 2
        // values["controller"] = "Coverages"
        // values["action"] = "Save"
        public JsonResult Save(object values);
        // values != null
        // values is unknown type, no data appears accessible
        public JsonResult Save(dynamic values);
        // values != null
        // values is unknown type, no data appears accessible
        public JsonResult Save(FormCollection values);
        // values != not null
        // values.Count == 0
        public JsonResult Save([System.Web.Http.FromBody]string values);
        // values == null
        public JsonResult Save([System.Web.Http.FromBody]List<KeyValuePair<string, string>> values);
        // values == null
        public JsonResult Save([System.Web.Http.FromBody]List<Tuple<string, string>> values);
        // values == null
        public JsonResult Save([System.Web.Http.FromBody]Dictionary<string, string> values);
        // values != null
        // values.Count == 2
        // values["controller"] = "Coverages"
        // values["action"] = "Save"
        public JsonResult Save([System.Web.Http.FromBody]object values);
        // values != null
        // values is unknown type, no data appears accessible
        public JsonResult Save([System.Web.Http.FromBody]dynamic values);
        // values != null
        // values is unknown type, no data appears accessible
        public JsonResult Save([ModelBinder(typeof(DictionaryModelBinder))] Dictionary<string, string> values); // example I found online but still did not work
        // values != null
        // values.Count == 2
        // values["controller"] = "Coverages"
        // values["action"] = "Save"

我试着看看我是否可以在请求对象中找到原始数据,但我也没能这样做。我试图找到这个问题的解决方案时发现的ModelBinder绑定器示例。不幸的是,它发现的只是控制器和动作名称。

对于我可能出现的问题或如何获取数据,有人会对我提出任何建议吗?

谢谢!

0 个答案:

没有答案