5
私はajaxフォームjqueryプラグインを使ってajax経由でフォームを(ダイアログ内で)送信しています。jquery ajaxフォーム - リダイレクトURLの取得方法
これは正常に動作し、私はサーバーからHTML応答を返します。応答は私が変更できない標準のリダイレクト後ポストPHPページから来ます。
jQuery(ajaxコールバック内)を使用してこのリダイレクト(最終的なGETの場所)のURLを取得する方法はありますか?
$j('span.sfAutocomplete a').click(function(e){
var url = this.href;
var $dialog = $j('<div id="ajaxDialog"></div>').appendTo('body')
.load(
url,
'sfAutocomplete=true',
function (responseText, textStatus, XMLHttpRequest) {
$dialog.dialog({ autoOpen: true });
//
// Ajax submit
//
$j('#ajaxDialog form').submit(function() {
function showResponse(responseText, statusText) {
// how to get the redirect url ?
}
$j(this).ajaxSubmit({
success: showResponse
});
return false;
});
}
);
return false;
});
完全なハンドラ+ xhr.getResponseHeaderまたはgetAllResponseHeadersで試してみましたが、「未定義」を返します。私がconsole.log(xhr)を実行した場合、以下のように表示されます:オブジェクトは中止されました= 0(接続がうまくいっても) – gpilotino
Strange。それではxhrオブジェクトには何が入っていますか? –
"iframe"オプション(xhrモックオブジェクトを使用)で使用すると、ajaxフォームプラグインの「バグ」のように見えます。一度そのオプションを取り除くと、正しいhttpヘッダーが取得されますが、「Location」ヘッダーが見つからないため、URLはまだ取得されません。 – gpilotino