ajaxを使用してフォームを送信し、URLにリダイレクトしてそのデータを送信し、URLでクエリ文字列を取得する方法を探しています。基本的には、通常のGETリクエストは、これは私が、私はあなたがGET要求から受け取るようなAjaxフォームを送信してクエリ文字列を取得し、新しいページに追加してリダイレクトする
/list?input1=thisinput&input2=anotherinput
同じものとしてクエリ文字列を取得したい
$('#searchform').submit(function(event) {
$.ajax({
type: "get",
url: "/list",
data: $("#searchform").serialize(),
beforeSend: function() {
$(".loader").show();
},
success: function(data) {
location.href = "/list"; //redirect to list
$("#ajaxcontent").empty(); //try to append data on this div, not sure how
$("#ajaxcontent").append(data);
}
});
event.preventDefault();
});
を試みたものです。
このすべてでajaxを使用する私の唯一の目的は、プリローダーを表示することです。
私は自分のAjaxリクエストをどのようにしたらよいかを説明するのに役立つほどの親切な人になるでしょうか。私は自分自身を理解できるようにしたいと思う。
これは、フォーム
<form method="GET" action="list" id="searchform" name="searchform">
<input type="text" name="search1">
<input type="text" name="search2">
<input type="text" name="search3">
<button type="submit" id="submitz">Submit</button>
</form>
コードに問題がありますか?それは孤立しているように見えます。また、AJAXリクエストの直後にリダイレクトすると、AJAX(と '' empty() ''と '' append() ')の全体がかなり冗長になります。 –
location.hrefを設定すると、ブラウザがリダイレクトされます。その時点で、ブラウザは 'location.href'に続くコードの実行を停止し、新しいリソースに存在するスクリプトがロード/実行されているかどうかを停止します。 –
しかし、私の探しているAjaxコードでは、クエリ文字列が取得されません。また、Roryが言ったように、Ajaxリクエスト全体をリダイレクトしても意味がないので、私は何をすべきか分からない。 – Cowgirl