2016-08-21 15 views
0

I asp.net mvcで初心者だけど、私はその目的は、このチュートリアルを読むために、Ajaxコードからコントローラのアクションを呼び出したい:
CALL CONTROLLER WITH AJAX
書き込み私のコントローラでこのアクションメソッド:
なぜ私はasp.net mvcでajaxからコントローラを呼び出せないのですか?

[HttpPost] 
     public void Test01() 
     { 
      string behzad = "BEHZAD RAZZAQI"; 

     } 


とビューのページ書き込み中、このhtmlコード:

<button type="button" id="btn1" class="btn btn-success">ثبـت نـام</button> 



<script> 
     $("#btn1").click(function() { 
      $.ajax({ 
       url: "/MainPage/Test01", 
      datatype: "text", 
      type: "POST", 
      success: function (data) { 
       alert('ok');//$('#testarea').html("All OK"); 
      }, 
      error: function() { 
       $("#testarea").html("ERROR"); 
      } 
      }); 
     }); 
    </script> 


しかし、私は何をどのように私はその問題を解決することができ起こる、任意の警告を見ることができないボタンを発射:?そのビューページ上で このjqueryコードを書きますか?

+0

1.コントローラー名のajax urlに 'MainPage'が指定されていますか? 2.ボタンをクリックしたときにjavascriptメソッドが当たっていますか? ajax呼び出しの前にアラートを入れてみてください。 3.ブラウザのコンソールにエラーがありますか? – Developer

+0

ブラウザーの 'Console'で見たエラーはありますか? –

+0

@Developerブラウザのコンソールで次のメッセージが表示されます。警告:NetUtil.asyncFetch()では、チャネルにloadinfoで設定されたセキュリティフラグの1つが必要です(nsILoadInfoを参照)。 NetUtil.newChannel()を使用してチャンネルを作成してください。 –

答えて

2

代わりにこれを試してみてください:

<script src="~/scripts/jquery-*.*.*.min.js"></script> 

さらに情報を:

$(document).ready(function() { 

    $("#btn1").click(function() { 
     $.ajax({ 
      url:'<%= Url.Action("Test01", "MainPage") %>', 
      success: function(data) { 
       alert("ok"); 
      } 
     }); 
    }); 

}); 

メインページがあなたのコントローラの名前で、@bhupeshが述べ同じように、お使いのjQueryライブラリが含まれていることを確認しますが見つかりましたHere

+0

ボタンを放すとAJAXが実行されます。どのようにコードを変更できますか? –

+0

そのコードをボタンクリック機能の中に入れてください。 –

+0

私はスクリプトのタグにsimleのテスト関数を書くと、ボタンをクリックすると、テスト関数の書き込み警告( 'ok')とボタンを発射するとonclick = "test()"と書くが、テスト関数にあなたのajaxファイルコピーボタンを鳴らして、表示しないでください。 –

0

あなたのページにjqueryスクリプトファイルが含まれていることを確認してください。

<script src="~/scripts/jquery-*.*.*.min.js"></script> 
+0

はい –

関連する問題