2012-01-06 11 views
0

以前に投稿されたjQuery/MVCの質問を見てきましたが、実行可能な回答が見つかりませんでした。jQuery AJAXのMVCコントローラへの呼び出しが返されない

私は、次のJavaScriptコードを持っている:

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:

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); 
      } 
     } 

    } 
} 

私はdev内のコードを実行すると予想されるように、コントローラのアクションが実行され、戻りますが、AJAX呼び出し(完了、エラー、または成功)で定義されたコールバックは起動しません。一度、以前のコードバージョンでは、500コードの例外(内部サーバーエラー)が表示されましたが、今は何も表示されません。

環境:MVC3は、jQuery1.6はあなたがしようとするとAJAXコールのコンテンツタイプを設定する必要があり

+0

jekke - 私はあなたがそれを言及していないことを知っているが、コードの実行に関するfirebugレポートは何ですか? –

+0

FireBugコンソールまたは使用しているjavascript開発ツールバーには何が表示されますか?エラー? 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

ありがとうございます。申し訳ありませんが問題を解決しませんでした。 asyncをオフにしてやってみましたか?そうでない場合は、問題を見つけるのに役立ちます。それ以外は、火かき棒のエラーから何をすべきかわからない。 –

関連する問題