我已经完成了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();
}

其他提示

.find更改为.filter ...

我注意到你的success函数有参数<!> quot; html <!> quot;,你试图添加<!> quot; data <!> quot;你的元素html() ...改变它们以便它们匹配:

$.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开始时执行搜索   在文档根目录。但是,可以给出替代上下文   使用可选的第二个参数到$()函数

进行搜索

因此你也可以:

success: function(data){
    var oneval = $('#one',data).text();
    var subval = $('#sub',data).text();
}

成功:功能(响应){alert(response.d); }

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top