【100分】Jquery接收MVC返回的Json(Model)格式数据不进success方法,求助!!!!!!

丰云 2015-05-11 04:20:03
如题,
后台action如下:

[HttpPost]
[AllowAnonymous]
public JsonResult Login(LoginModel model)
{
/* ... ... */
return Json(model);
}


前台ajax方法如下:

$.ajax({
url: "/Account/Login",
cache: false,
type: "post",
dataType: "json", //这行注释掉也,也进不了success方法!!
data: { Account: account, Password: pwd, VerifyCode: code },
success: function (result) {
if (!result) {
$("#lblLoginMsg").text("系统忙,请稍后再试!");
} else if (result.Msg.Code != "Success") {
$("#lblLoginMsg").text(result.Msg.Message);
} else {
location.href == "/Home/Main";
}
},
error: function (result) {
$("#lblLoginMsg").text(result.responseText);
},
complete: function (result) {

}
});

现在运行的情况是,通过调试json数据准确返回了,但mvc返回的格式,跟jquery要求的格式不一致,也就是属性名字没加引号。导致jquery返回后不进success方法。

在不改变后台既有方法的情况下,有没有高手解决过这种问题,请不吝赐教
...全文
318 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
-小蕾- 2015-05-12
  • 打赏
  • 举报
回复
关注一下,顺便接分。
本拉灯 2015-05-12
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
引用 9 楼 lizeyuan8238386 的回复:
  $.ajax({
                    url: "your url",
                    type: "POST",
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    data: JSON.stringify({
                        name: "张三",
                        sex: "中性",
                        age: "18"
                    }),
                    success: function (obj) {
                      alert("soga");
                    }
                });
Success返回的obj为json对象,而不是字符串类型的json;
  • 打赏
  • 举报
回复
  $.ajax({
                    url: "your url",
                    type: "POST",
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    data: JSON.stringify({
                        name: "张三",
                        sex: "中性",
                        age: "18"
                    }),
                    success: function (obj) {
                      alert("soga");
                    }
                });
qzyf1992 2015-05-12
  • 打赏
  • 举报
回复
http://blog.csdn.net/qzyf1992/article/details/45220673 c#实现给不带引号的json加上引号
Xanl 2015-05-11
  • 打赏
  • 举报
回复
上面我看错了sry 没看到你没用Razor语法 改dataType:'text'试试
Xanl 2015-05-11
  • 打赏
  • 举报
回复
你首先需要确定后台返回正确的json后你能够进入success方法。 不执行success回调方法可能是没有引用一个js的库、我记得是微软写的。
阿良良木月火 2015-05-11
  • 打赏
  • 举报
回复
楼主这么好,节分
  • 打赏
  • 举报
回复
……
丰云 2015-05-11
  • 打赏
  • 举报
回复
来人接分了,送分了。。。。
丰云 2015-05-11
  • 打赏
  • 举报
回复
没人回答,我自己解决了。。。。 加上contentType: "application/text",欺骗下jquery就完美了,其他什么都不用改。。。。 恶心啊,jquery为啥就不能调整下呢。。。。

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧