0
 var jso = { "namep": "a", "age": "10" };

            $.ajax({
                type: 'POST', 
                url: '@Url.Action("gettestjsn","Cart")',
                contentType: 'application/json; charset=utf-8',
                data: JSON.stringify(jso),

                success: function (data) {
                    alert(data.namep);

                },
                error: function () { alert("err"); }
            });

这段代码总是去错误函数,我不会触发我的 mvc 动作,因为我有一个与这个 json obj 匹配的 prop 类。为什么我是 json 和 jquery ajax 的新手,请帮助这是我的操作

 public ActionResult gettestjsn(jso  jso) 
        {


//do some here

            return View();
        }
4

3 回答 3

0

从 ajax 属性中删除 contentType 并添加

     dataType: 'json',

如果网址正确,这将起作用

于 2013-08-30T04:35:45.003 回答
0

这就是您的代码的样子

var jso = { "namep": "a", "age": "10" };

            $.ajax({
                type: 'POST', 
                url: '@Url.Action("gettestjsn","Cart")',
                data: jso,
                success: function (data) {
                    alert(data.namep);
                },
                error: function () { alert("err"); }
            });

另外我会避免使用警报。使用 console.log 或使用浏览器中的检查器(内置 chrome)进行调试,以查看来自服务器的数据是什么样的。

于 2013-08-30T04:39:05.820 回答
0

像这样试试

var jso = { "namep": "a", "age": "10" };

            $.ajax({
                type: 'POST', 
                url: '/Cart/gettestjsn',
                contentType: 'application/json; charset=utf-8',
                data: jso,

                success: function (data) {
                    alert(data.namep);

                },
                error: function (jqxhr, status, error) { alert("err:" + status + ':' + error); }
            });

你的行动应该是,

[HttpPost]
     public ActionResult gettestjsn(jso  jso) 
            {
               //do some here
                return View();
            }

希望能帮助到你。

于 2013-08-30T05:11:02.317 回答