このarticleに続いて、Partial View
をAjax
でロードしようとしています。しかし、それはロードされていないpartial view
。Asp.net MVCコア - Ajaxを使用して部分ビューを読み込むことができません
NOTES:
- 私は、Visual StudioのMVCコアWebアプリケーションのプロジェクトテンプレートが付属していますjqueryののデフォルトのインストール/設定で最新の更新プログラムでVS2015を使用しています。
- Google Chromeのデベロッパーツールにエラーは表示されません。また、ブラウザのビューソースにはまだ
<div id="UpdateTabData"></div>
タグの空白が表示されます - Ajaxコールのclickイベント内に
alert('Test')
を配置し、Ajaxが実際にTestActionメソッドを呼び出すbreakpoint
コントローラアクションメソッドを使用してテストしました。実際にはreturn PartialView("PartialView", myViemodel);
を返します。アクションメソッド内にエラーはありません。[HttpGet] public IActionResult TestAction(string calledFrom) { ... some code here with a view model myViemodel return PartialView("myPartialViewName", myViemodel); }
ビュー:
@model myProj.Models.myTestViewModel ...some html here... <div id="UpdateTabData"></div> ... more html here ...
Ajaxコード末尾に
- しかしアヤックスはそれが
コントローラ誤差関数だから、私のカスタムエラーメッセージを返します。終了時に :
$(document).ready(function() {
$('#myTabstripID li').click(function() {
var li_id = $(this).attr("id");
$.ajax({
url: '@Url.Action("TestAction", "myControllerName")',
data: { calledFrom: li_id},
contentType: 'application/json',
dataType: 'html'
type: 'GET',
cache: false,
success: function (data) {
$('#UpdateTabData').html(data);
},
error: function (data) {
alert('Error occurred');
}
});
});
});
ブラウザの開発ツール - >ネットワークタブを開き、ajax呼び出しの応答を確認してください。それは200でOKですか?そうでない場合は、レスポンスを確認して、あなたが得ているものを見てください。あなたのサーバーコードがクラッシュする可能性があります – Shyju
@Shyjuはい、 'dev tools-> network-> Headers'タブに' status code:200 OK'と表示されます – nam
あなたの開発ツールには何のプレビューペインが表示されますか? – Detilium