简单JsonResult jQuery的AJAX方法返回parsererror [英] Simple JsonResult returns parsererror on Jquery ajax method
问题描述
我使用asp.net MVC2使用jQuery 1.5.2。我pretend是让客户端调用在我的控制器返回一个JSON数据的具体方法。
其实,我的客户端调用服务器工作正常,但问题是,jQuery的不承认返回的JSON。
我不明白我在做什么错!能有一个人helpme这个?
控制器方法:
< HttpPost()> _
功能DoStuff(BYVAL编号为整数)作为JsonResult
昏暗RETVAL作为JsonResult =无 RETVAL = JSON(新xpto随着{.P1 =P1Value}) 返回RETVAL
结束功能
JQuery的Ajax调用:
$阿贾克斯({
网址:/ DoStuff / 5,
键入:POST,
数据类型:JSON
异步:假的,
成功:功能(数据,textStatus,jqXHR){
警报(textStatus);
},
错误:功能(jqXHR,textStatus,errorThrown){
警报(textStatus);
}
});
值时,处理错误的方法:
errorThrown:jQuery1520029581770420782693_1303980789842不叫
textStatus:parsererror
jqXHR.responseText ={P1:P1Value}
块引用>解决方案这个问题是不是在上code,这是工作的罚款,由上标记的Sctipt标记顺序(验证)所产生的问题
错误的:
<脚本的src =/脚本/ jQuery的-1.5.2.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本的src =/脚本/ jQuery的-UI-1.8.11.custom.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本的src =/脚本/ jquery.validate.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本的src =/脚本/ jquery.maskedinput-1.3.min.js类型=文/ JavaScript的>< / SCRIPT>右:
<脚本的src =/脚本/ jQuery的-1.5.2.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本的src =/脚本/ jQuery的-UI-1.8.11.custom.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本的src =/脚本/ jquery.maskedinput-1.3.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本的src =/脚本/ jquery.validate.min.js类型=文/ JavaScript的>< / SCRIPT>i'm using asp.net mvc2 with jquery 1.5.2. what i pretend is to make client-side call to a specific method in my controller that returns a json data.
Actually, my client-side call to server is working, but the problem is that jquery doesn't recognize the returned json.
I cannot understand what i'm doing wrong!, can some one helpme with this?
Controller method:
<HttpPost()> _ Function DoStuff(ByVal id As Integer) As JsonResult Dim retval As JsonResult = Nothing retval = Json(New xpto With {.P1 = "P1Value"}) Return retval End Function
JQuery Ajax call:
$.ajax({ url: "/DoStuff/5", type: "POST", dataType: "json", async: false, success: function(data, textStatus, jqXHR) { alert(textStatus); }, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus); } });
Values when Handles Error method:
errorThrown: jQuery1520029581770420782693_1303980789842 was not called
textStatus: parsererror
jqXHR.responseText = "{"P1":"P1Value"}"
解决方案The problem was not in the on that code, that is working fine, the problem is generated by the Sctipt tag order on the markup (validate)
WRONG:
<script src="/Scripts/jquery-1.5.2.min.js" type="text/javascript"></script> <script src="/Scripts/jquery-ui-1.8.11.custom.min.js" type="text/javascript"></script> <script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script> <script src="/Scripts/jquery.maskedinput-1.3.min.js" type="text/javascript"></script>
RIGHT:
<script src="/Scripts/jquery-1.5.2.min.js" type="text/javascript"></script> <script src="/Scripts/jquery-ui-1.8.11.custom.min.js" type="text/javascript"></script> <script src="/Scripts/jquery.maskedinput-1.3.min.js" type="text/javascript"></script> <script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
这篇关于简单JsonResult jQuery的AJAX方法返回parsererror的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!