問題タブ [unobtrusive-ajax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
554 参照

ajax - Unobtrusive Ajax がレイアウト ページを必要とするのはなぜですか (部分的なビューを返すことはできません)。

unobtrusive Ajax によってまだ Ajax 化されていないformすべての sを Ajax化するカスタム プラグインを作成しているときに、通常の Unobtrusive Ajax フォームでは部分/レイアウト コードがポストバックで表示されないことに気付きました。

私の他の部分更新プラグインでは、次のように条件付きでページを部分 (ajax リクエストの場合) またはレイアウト付きの完全 (通常のリクエストの場合) としてレンダリングします。

通常の控えめな Ajax フォームをテストするときは、独自の要素だけを更新する次のテスト ビューを使用しましたUpdateTargetId="FormPanel"

test を削除し、if (!Request.IsAjaxRequest())マスターページ/レイアウトを含むページ全体を返すと、フォームがあった場所に結果が表示されます。

Fiddler は、どちらの場合も「成功」ビューが返されることを示していますが、レイアウトが存在しないと何もしません。

Q.控えめな Ajax がコンテンツを抽出し、指定された要素を置き換えるために必要なマスターページ/レイアウトは何ですか?

アップデート:

さらに悪いことに、実際には最初は正しく機能しますが、同じフォームを ajax で再度ロードすると機能しません。

0 投票する
0 に答える
607 参照

asp.net-mvc - 動的ロード時の Ajax.BeginForm の問題

ASP.NET MVC5 アプリケーションに検索ページがあります。隅にドロップダウンがあり、「ユーザー検索」を選択すると、ユーザーの検索フィルターが表示されます。「タスク検索」を選択すると、タスクの検索フィルターが表示されます。

これらのフィルターは部分ビューに読み込まれ、Ajax.BeginForm. したがって、オプションが選択されると、まったく新しいフォームが読み込まれます。

searchResultsdiv はページ上にあるため、フォームはメイン ページの div のコンテンツを別の部分ビューの形式のデータで更新しています。

この例のユーザーでは、デフォルトとして設定した検索オプションは問題なく機能します。検索結果が戻ってくると、意図したとおりに div コンテンツを置き換えます。

次に、上記のフォームを、似ているが別のア​​クションを指すフォームに置き換えるものに切り替えるとTask Search、検索結果に対して返される部分ビューが別のページに表示されます。

searchResultsフォームを動的にロードしているためだと考えていますが、divを認識しなくなりましたが、それはうまくいかない可能性があります。これは unobstrusive.ajax.js がロードされていない場合にも発生する可能性がありますが、検索フォームを変更するまで結果は正常に機能します。

0 投票する
1 に答える
778 参照

javascript - Jquery.Unobtrusive.Ajaxを使用してajaxリクエストをキャンセルするには?

私はこのようにAjax.ActionLinkを使用しています

次のように、javascript の test() 関数の結果に基づいて、リンクの ajax 呼び出しをキャンセルできるようにしたい

これが可能であることを示すチュートリアルを見たことがありますが、どういうわけかそれを機能させることができません.誰かがそれを手伝ってくれますか? ありがとう!

0 投票する
2 に答える
13554 参照

ajax - 目立たない AJAX エラー:「Uncaught ReferenceError: Sys is not defined」

コード例: Visual Studio の MVC 5 プロジェクトで、次のコントローラーとビューをセットアップしました。

コントローラ

TestController.cs

ビュー

インデックス.cshtml

PartialView1.cshtml

PartialView2.cshtml

質問

私の理解が正しければ、「Partial 1」をクリックすると、「PartialView1」のコンテンツが「contentShouldLoadHere」という ID を持つ HTML 要素に読み込まれるはずです。代わりに、「Partial 1」をクリックすると、 MyPartialView1 アクション ( の通常のページ読み込みが発生~/Test/MyPartialView1)し、Chrome 開発ツール コンソールで次の JavaScript エラーが表示されます。

これがなぜなのか、どうすれば修正できるのか誰か知っていますか?

- Chrome Dev Tools で、両方のスクリプトが正しく読み込まれていることを確認しました。- @Ajax ヘルパーによって生成されるリンクの HTML は次のとおりです。

0 投票する
2 に答える
1146 参照

.net - Ajax.BeginForm がメッセージの Json を返す

jquery 控えめな ajax と MVC Ajax.Beginform() を使用して、C# サーバー側でフォームを検証しています。私は常にフォームをそれ自体に置き換えています。

それはすべて正常に機能していますが、私は疑問に思っています:

私のフォームが「データベースに保存」アクションをトリガーし、このアクションが成功したとしましょう。フォームにエラーがないので、フォームをクライアントにポストバックしたくありませんが、フロント エンドで成功ダイアログをトリガーする JSON メッセージをポストします。問題は、フォームの置換が常に発生していることです。サーバーからjsonを取得したときにフォームを置き換えないようにするにはどうすればよいですか?

私が求めているのは、divを更新せずに、代わりに他のコードを実行するにはどうすればよいですか?

onSuccess は知っているのですが、DIV 置換後に発火するので、置換を飛ばしたいです。