jQueryとAjaxを行ったのですが、レスポンスをDiv要素に取り込むことができません。これがそのコードです:
Index.html
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(html){
$("#response").html(data);
}
});
私の <div id="response"></div>
への応答を受信しています。
ajax.php
は index.html
ファイルに以下のコードを返す:
<div id ="one"> OneVal </div>
<div id ="sub"> SubVal </div>
OneValとSubvalを変数に抽出できるのでしょうか、また、上記の回答ではなく、"OneVal"と"SubVal"を抽出するには、どうしたらよいでしょうか。
レスポンスから生成されたjQueryオブジェクトに対して、.filter
を使用することができます:
success: function(data){
//Create jQuery object from the response HTML.
var $response=$(data);
//Query the jQuery object for the values
var oneval = $response.filter('#one').text();
var subval = $response.filter('#sub').text();
}
サクセスファンクションにパラメータ "html" があり、要素 html()
に "data" を追加しようとしていることに気づきました...。この2つが一致するように変更してください:
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(data){
$("#response").html(data);
}
});
次の例のように「json」を使用できます。
PHPコード:
echo json_encode($array);
$ array
は配列データで、jQueryコードは次のとおりです。
$.get("period/education/ajaxschoollist.php?schoolid="+schoolid, function(responseTxt, statusTxt, xhr){
var a = JSON.parse(responseTxt);
$("#hideschoolid").val(a.schoolid);
$("#section_id").val(a.section_id);
$("#schoolname").val(a.schoolname);
$("#country_id").val(a.country_id);
$("#state_id").val(a.state_id);
}
jQuery context パラメーターを使用することもできます。 ドキュメントへのリンク。
セレクタコンテキスト。 。 デフォルトでは、セレクターはDOM開始内で検索を実行します。 ドキュメントルートで。 ただし、別のコンテキストを指定できます。 オプションの2番目のパラメーターを使用して$()関数を検索します。
したがって、次のこともできます。
success: function(data){
var oneval = $('#one',data).text();
var subval = $('#sub',data).text();
}