题
我已经完成了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); }
不隶属于 StackOverflow