问题描述
MVC后台Controller代码:publicJsonResultGetPersonInfo(){varperson=new{Name="张三",Age="20",Sex="男"};returnJson(person,JsonRequestBehavior.AllowGet);}前台视图文件代码:<ulid="movieList"></ul><scripttype="text/javascript"src="~/Scripts/jquery-1.7.1.js"></script><scripttype="text/javascript">$(function(){$.ajax({url:"/ServiceTest/GetPersonInfo",type:"post",data:{},async:true,dataType:"json",success:function(data){$("#movieList").append("<li>"+data.Name+""+data.Age+""+data.Sex+"</li>");},error:function(data){//错误,则返回错误信息alert("程序运行出错!可能是数据不符合当前模型。"+data.responseText);}})});</script>浏览器运行后页面输出:{"Name":"张三","Age":"20","Sex":"男"},但是却不执行回调函数,或者说没有运行视图文件。网上看了很多帖子,依然解决不了,我是菜鸟级别的求大神指点
解决方案
解决方案二:
MVC后台Controller代码改成这样试试:[HttpPost]publicJsonResultGetPersonInfo(){varperson=new{Name="张三",Age="20",Sex="男"};returnJson(person);}
解决方案三:
没有问题的代码:
解决方案四:
照搬你的代码,是可以正常运行的,参考#2楼!!!
解决方案五:
你不会真的没dom,犯这么低级的错误吧?
解决方案六:
#movieList这个你有吗?光看代码是没问题的。前台整个html发出来看看
解决方案七:
你应该学会使用任何一种http调试器。例如所示的。懂得中间调试步骤,这才叫做开发。
解决方案八:
服务器返回了什么,你的jaavscript代码能不能(在vs开发工具上)断点调试,data.Name在调试器的“变量查看器”上是什么值......这些都可以看出你会什么开发技术。其实编程,真的是最低级的。不会调试,你编程就是给自己学的,一个正规软件经理是不会用那种只会编程不会测试/调试的人来搞项目开发的。
解决方案九:
引用2楼insus的回复:
没有问题的代码:
刚开始学MVC,是我还没搞懂JsonResult的用法,原来我在GetPersonInfo上直接添加的视图。问题已经解决,谢谢指导。