私は Scott Allen による Pluralsite で ode-to-food MVC4 デモ アプリに取り組んでおり、ajax 呼び出しを有効にすると厄介なエラーが発生します。これは私の最近のjqueryバージョンと関係があるのではないかと考えていますが、よくわかりません。
次の行のコメントを外して ajax 呼び出しを有効にすると、Microsoft JScript ランタイム エラーが発生します。それ以外の場合は正常に動作します。
$('form[data-ucw-ajax="true"]').submit(ajaxFormSubmit);
エラーは次のとおりです。
Unhandled exception at line 4411, column 2 in http://localhost:17471/Scripts/jquery-1.9.0.js
0x800a139e - Microsoft JScript runtime error: Syntax error, unrecognized expression:
<div class="wrapper clearfix">
....
</div>
<hr />
私のビューには次の形式があります。
<form method="get" action="@Url.Action("Index")" data-ucw-ajax="true" data-ucw-target="#facilitiesList">
私のJQueryコードは次のとおりです。
$(function () {
var ajaxFormSubmit = function () {
var $form = $(this);
var options = {
url: $form.attr('action'),
type: $form.attr('method'),
data: $form.serialize()
};
$.ajax(options).done(function (data) {
var $target = $($form.attr('data-ucw-target'));
var $newHtml = $(data);
$target.replaceWith($newHtml);
$newHtml.effect('highlight');
});
return false;
};
$('form[data-ucw-ajax="true"]').submit(ajaxFormSubmit);
});
私のスクリプト ロード バンドルは次のようになります。
bundles.Add(new ScriptBundle("~/bundles/jquery/ucw").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*",
"~/Scripts/jquery-migrate-1.0.0.js",
"~/Scripts/My.js"
));