問題タブ [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.
ajax - Unobtrusive Ajax がレイアウト ページを必要とするのはなぜですか (部分的なビューを返すことはできません)。
unobtrusive Ajax によってまだ Ajax 化されていないform
すべての sを Ajax化するカスタム プラグインを作成しているときに、通常の Unobtrusive Ajax フォームでは部分/レイアウト コードがポストバックで表示されないことに気付きました。
私の他の部分更新プラグインでは、次のように条件付きでページを部分 (ajax リクエストの場合) またはレイアウト付きの完全 (通常のリクエストの場合) としてレンダリングします。
通常の控えめな Ajax フォームをテストするときは、独自の要素だけを更新する次のテスト ビューを使用しましたUpdateTargetId="FormPanel"
。
test を削除し、if (!Request.IsAjaxRequest())
マスターページ/レイアウトを含むページ全体を返すと、フォームがあった場所に結果が表示されます。
Fiddler は、どちらの場合も「成功」ビューが返されることを示していますが、レイアウトが存在しないと何もしません。
Q.控えめな Ajax がコンテンツを抽出し、指定された要素を置き換えるために必要なマスターページ/レイアウトは何ですか?
アップデート:
さらに悪いことに、実際には最初は正しく機能しますが、同じフォームを ajax で再度ロードすると機能しません。
asp.net-mvc - 動的ロード時の Ajax.BeginForm の問題
ASP.NET MVC5 アプリケーションに検索ページがあります。隅にドロップダウンがあり、「ユーザー検索」を選択すると、ユーザーの検索フィルターが表示されます。「タスク検索」を選択すると、タスクの検索フィルターが表示されます。
これらのフィルターは部分ビューに読み込まれ、Ajax.BeginForm
. したがって、オプションが選択されると、まったく新しいフォームが読み込まれます。
searchResults
div はページ上にあるため、フォームはメイン ページの div のコンテンツを別の部分ビューの形式のデータで更新しています。
この例のユーザーでは、デフォルトとして設定した検索オプションは問題なく機能します。検索結果が戻ってくると、意図したとおりに div コンテンツを置き換えます。
次に、上記のフォームを、似ているが別のアクションを指すフォームに置き換えるものに切り替えるとTask Search
、検索結果に対して返される部分ビューが別のページに表示されます。
searchResults
フォームを動的にロードしているためだと考えていますが、divを認識しなくなりましたが、それはうまくいかない可能性があります。これは unobstrusive.ajax.js がロードされていない場合にも発生する可能性がありますが、検索フォームを変更するまで結果は正常に機能します。
javascript - Jquery.Unobtrusive.Ajaxを使用してajaxリクエストをキャンセルするには?
私はこのようにAjax.ActionLinkを使用しています
次のように、javascript の test() 関数の結果に基づいて、リンクの ajax 呼び出しをキャンセルできるようにしたい
これが可能であることを示すチュートリアルを見たことがありますが、どういうわけかそれを機能させることができません.誰かがそれを手伝ってくれますか? ありがとう!
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 は次のとおりです。
.net - Ajax.BeginForm がメッセージの Json を返す
jquery 控えめな ajax と MVC Ajax.Beginform() を使用して、C# サーバー側でフォームを検証しています。私は常にフォームをそれ自体に置き換えています。
それはすべて正常に機能していますが、私は疑問に思っています:
私のフォームが「データベースに保存」アクションをトリガーし、このアクションが成功したとしましょう。フォームにエラーがないので、フォームをクライアントにポストバックしたくありませんが、フロント エンドで成功ダイアログをトリガーする JSON メッセージをポストします。問題は、フォームの置換が常に発生していることです。サーバーからjsonを取得したときにフォームを置き換えないようにするにはどうすればよいですか?
私が求めているのは、divを更新せずに、代わりに他のコードを実行するにはどうすればよいですか?
onSuccess は知っているのですが、DIV 置換後に発火するので、置換を飛ばしたいです。