43

我已经完成了 jQuery 和 Ajax,但我无法将响应放入 Div 元素。这是代码:

索引.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”,而不是上述响应?

4

6 回答 6

86

您可以.filter在从响应创建的 jQuery 对象上使用:

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();
}
于 2008-12-30T13:18:57.393 回答
17

更改.find.filter...

于 2008-12-31T10:49:23.700 回答
13

我注意到您的成功函数具有参数“html”,并且您正在尝试将“数据”添加到您的元素html()中......更改它以使它们都匹配:

$.ajax({
    type:"POST",
    url: "ajax.php",
    data:"id="+id ,
    success: function(data){
        $("#response").html(data);
    }
});
于 2011-08-23T23:44:32.680 回答
4

你可以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);
}
于 2012-12-09T06:17:29.747 回答
2

您也可以使用 jQuery上下文参数。链接到文档

选择器上下文

默认情况下,选择器从文档根目录开始在 DOM 中执行搜索。但是,可以通过使用 $() 函数的可选第二个参数为搜索提供替代上下文

因此,您还可以拥有:

success: function(data){
    var oneval = $('#one',data).text();
    var subval = $('#sub',data).text();
}
于 2015-09-11T05:24:25.027 回答
-1
on success: function (response) { alert(response.d); }
于 2015-11-20T15:59:34.727 回答