2016-10-08 29 views
0

私のAjax呼び出しが機能しない理由が混乱しています。現在のところ、ClientからAjaxメソッドを使用してControllerメソッドにアクセスするだけです。 アラートコマンドは私のHTML上でPOPINGですが、サーバー側はクライアントからアクセスされません。以下に私が行方不明です何を教えてください:Ajax呼び出しがサーバー側にアクセスしない

  1. を私のコントローラのアクションメソッドがGET呼び出しデータ

    <script> 
    $(document).ready(function() { 
         $.get("@Url.Action("GetData","Driver")",function(data){ 
         $("#dataForSecond").html(data); 
         alert("Second ActionResult"); 
        }); 
    }); 
    

  2. はちょうど返す私のコントローラでのデータgetメソッド:

    public ActionResult GetData() 
    { 
        logger.AddLog("INTO 2nd Action Method"); 
        var secondData = "I m Dummy"; 
        //System.Threading.Thread.Sleep(500); 
        logger.AddLog("Setting loggedInAgent Value Again"); 
        // ViewBag.loggedInAgents = "11"; 
        return Json(secondData, JsonRequestBehavior.AllowGet); 
    } 
    
  3. テストのために私はクライアント側で次のようにしましたが、REFREはありませんでしたSHINGが起こった、前と同じようにPOPだけ。私のコードで何が起こっているのかわかりません。

    $(function() { 
        var refreshInterval = 5000; 
        var url="@Url.Action("GetData","Driver")"; 
        setInterval(function() { 
        $("#View1").load(url); 
        }, refreshInterval); 
    
+1

を? 'GetData'メソッドでViewBag項目を設定する必要はありません。また、 'Show'メソッドを呼び出すと、その中に何が入っているのかわかりません! 'GetData'メソッドを呼び出すはずがありませんか? – Shyju

+0

Sir、編集後@私はAjax用のUI/Clientで制御権を持っています。しかし、コントロールはコントローラーメソッド/ドライバーには行きません。私はGetData()でLoGGINGを実装しましたが、このメソッドのログは書き込まれません。 –

+0

あなたのページにjsエラーがありますか? – Shyju

答えて

1

あなたがのActionResultを呼び出している、あなたがなぜ機能していないということ化するJsonResultを呼び出す必要があり、怒鳴るの例を参照してください:あなたは `secondData`変数の値を設定しなかった

   $.ajax({ 
       url: '/Product/List', 
       type: "GET", 
       data: { "nrRecs": 4 }, 
       async: true, 
       dataType: "json", 
       error: function (XMLHttpRequest, textStatus, errorThrown) { 
         alert('error'); 
       }, 
       success: function (data) { 
        alert('ok'); 
       } 
      }); 


    [HttpGet] 
    public async Task<JsonResult> List(int nrRecs) 
    { 
     var product = db.products.Take(4); 
     return Json(await product.ToListAsync()); 
    } 
関連する問題