Ajaxを使用するいくつかのユーザーコントロールを持つページがあります。このページからresponse.redirectを実行しようとすると、Ajaxはコールをトラップし、リダイレクトを許可しません。Response.redirectがAjaxコントロールで動作しない
Ajaxページからresponse.redirectを実行するにはどうすればよいですか?
おかげで...あなたはユーザーコントロールを持っているどのくらいAJAXアクションを制御
Ajaxを使用するいくつかのユーザーコントロールを持つページがあります。このページからresponse.redirectを実行しようとすると、Ajaxはコールをトラップし、リダイレクトを許可しません。Response.redirectがAjaxコントロールで動作しない
Ajaxページからresponse.redirectを実行するにはどうすればよいですか?
おかげで...あなたはユーザーコントロールを持っているどのくらいAJAXアクションを制御
?クライアント側を変更できる場合、JSONオブジェクトを返すのが最も簡単です。このオブジェクトを解析し、リダイレクトするURLをデータとして送信することができます。クライアント上でデータを取得したら、window.location.hrefをURLに設定するだけです。
$.ajax({
url: '/some/url',
dataType: 'json',
type: 'post',
data: $('form').serialize(),
success: function(data) {
if (data.Redirect) {
window.location.href = data.Redirect;
}
else {
...handle other responses...
}
}
... more options...
});
私のすべてのコードはC#、ASP.NET 2.0です。私はJSONに慣れていません。 –
JavaScriptSerializerを使用してJSONを作成するこのブログ記事をご覧ください:http://blogs.msdn.com/rakkimk/archive/2009/01/30/asp-net-json-serialization-and-deserialization.aspxシリアライズされたバージョンで返信してからResponse.Writeを使用する必要があるオブジェクトを定義するだけで済みます。 – tvanfosson
私は他の質問で述べたように:
があなたのweb.configファイルに
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
そのコードはすでに私のWeb.configにあります –
重複のhttpこれを追加:// stackoverflowの
jQueryを使って、それは次のようになります.com/questions/1215177 /。 –