2012-01-06 3 views
0

이전에 게시 된 jQuery/MVC 관련 질문을 살펴본 결과 가능한 대답을 찾지 못했습니다.jQuery AJAX MVC 컨트롤러 호출 동작이 반환되지 않음

I가 다음과 같은 자바 스크립트 코드 :

appCode.runReports = function (e) { 

    var reportList = ''; 

    $('.rptCheck:checked').each(function (index) { 
     reportList += ($(this).attr('reportName') + ','); 
    }); 

    $.ajax({ 
      url: '/Report/RunReports/?reports=' + reportList, 
      error: appCode.reportAjaxFailure, 
      success: appCode.listRunningReports, 
      complete: appCode.ajaxComplete, 
      dataType: 'json' 
     }); 

    e.preventDefault(); 
} 

$(document).ready(function() { 
    $('#runReportsButton').click(appCode.runReports); 
}); 

는 다음 컨트롤러 사용에 호출하는 URL : 내가 DEV에서 코드를 실행하면 예상대로

namespace workflowDemoMVC.Controllers 
{ 
    public class ReportController : Controller 
    { 

     public JsonResult RunReports(string reports = "") 
     { 
      try 
      { 
       var ret = reports.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 
       return Json(ret, JsonRequestBehavior.AllowGet); 
      } 
      catch (Exception ex) 
      { 
       ide.Trace.WriteLine(ex.ToString()); 
       return Json(null, JsonRequestBehavior.AllowGet); 
      } 
     } 

    } 
} 

, 컨트롤러 액션 실행 및 반환하지만 AJAX 호출 (완료, 오류 또는 성공)에서 정의 된 콜백은 실행되지 않습니다. 한 번, 이전 코드 버전에서 500 코드 예외 (내부 서버 오류)를 보았지만 전혀 보이지 않습니다.

환경 : MVC3는 jQuery1.6 당신은 시도하고 AJAX 호출에 콘텐츠 형식을 설정해야

+0

jekke - 내가 언급하지 않았지만 코드를 실행하는 데 방화자 보고서는 무엇을보고합니까? –

+0

FireBug 콘솔이나 사용하고있는 자바 스크립트 개발자 툴바에 무엇이 보이나요? 오류? AJAX 요청이 전송됩니까? 서버는 무엇을 응답합니까? –

+2

우리 모두가 다음에 동의하는 것 같아요 :) –

답변

2

을 .net4. 나는 이런 문제가 있었고 그것을 해결해 주었다. 기본적으로 당신은 이것을 할 것입니다. 나는 내가 이것을 지정할 때까지 IE에 많은 문제가 있다는 것을 안다.

$.ajax({ 
     url: '/Report/RunReports/?reports=' + reportList, 
     error: appCode.reportAjaxFailure, 
     success: appCode.listRunningReports, 
     complete: appCode.ajaxComplete, 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8' 
    }); 
+0

이것은 문제를 해결하는 것으로 보이지 않지만 여전히 좋은 생각입니다. Upvote. –

+0

위로 투표 해 주셔서 감사합니다. 죄송하지만 문제는 해결되지 않았습니다. 비동기 해제 한 상태로 해 보았습니까? 그렇지 않으면 문제를 찾는 데 도움이 될 수 있습니다. 그 이외에 나는 방화범의 실수로 무엇을해야할지 잘 모르겠다. –