jQueryモバイルサイトがあります(ASP.NET MVCですが、この質問ではそれほど重要ではありません)。jQuery mobileはリンクとフォームに接続し、すべてを自動的にAJAXリクエストに変換します。
従来のjQuery.ajax()
呼び出しを使用すると、コンテンツタイプalert('Data has been saved.');
を使用してサーバーからのようにプレーンなJavascriptを返すことができますapplication/x-javascript
-jQueryは自動コンテンツタイプ検出を実行し、応答を正しく処理します。これは、AJAXフォーム送信でも機能します。応答がスクリプトの場合は実行され、応答がHTMLの場合は、フォームのコンテンツを置き換えることができます。
残念ながら、jQuerymobileはサーバーの応答で常にHTMLを期待しているようです。サーバーの応答がapplication/x-javascript
content-typeのスクリプトである場合、ページ全体がテキストに置き換えられるだけですundefined
。jQuery mobileのAJAXを無効にして、従来のjQuery AJAXフォームを添付すると、エラーがユーザーに表示された後にスクリプトが実行されますが、エラーが表示されます。
jQuery mobileリクエストへの応答として、サーバーからプレーンなJavascriptコードだけを返すことは可能ですか?