2011-04-28 2 views
1

jquery 1.5.2와 함께 asp.net mvc2를 사용하고 있습니다. 내가 흉내내는 것은 json 데이터를 반환하는 내 컨트롤러의 특정 메서드에 대한 클라이언트 측 호출을 만드는 것입니다.Simple JsonResult는 Jquery ajax 메서드에서 parsererror를 반환합니다.

실제로 클라이언트 측 서버 호출이 작동하지만 jquery가 반환 된 json을 인식하지 못하는 것이 문제입니다.

내가 뭘 잘못하고 있는지 이해할 수 없어!, 이것으로 어떤 도움을 줄 수 있습니까?

컨트롤러 방법 :

<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 호출 :

errorThrow :

$.ajax({ 
     url: "/DoStuff/5", 
     type: "POST", 
     dataType: "json", 
     async: false, 
     success: function(data, textStatus, jqXHR) { 
      alert(textStatus); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      alert(textStatus); 
     } 
    }); 

값 때 오류 방법을 처리합니다 N : jQuery1520029581770420782693_1303980789842가

textStatus

호출되지 않았습니다 parsererror

jqXHR.responseText = "{"P1 ":"P1Value은 "}"

+0

코드에 문제가없는 것 같습니다. 이 문제가 모든 브라우저에서 발생합니까? 이 코드를 테스트 한 결과 제대로 작동했습니다. –

+0

IE8 및 FireFox4에서 테스트했습니다 (둘 다 동일한 결과) –

답변

0

문제는 그 코드의 아니었다, 즉 잘 작동에 문제가있는 마크 업 (유효성)에서의 sctipt 태그 순서에 의해 생성되는

잘못된 :

<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> 

오른쪽 :

<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> 
관련 문제