AJAX 数据过滤不起作用
ajax data filtering not working
>我试图从ajax响应中获取div的内容,但它返回的内容与另一个div而不是那个特定的div相同。
$.ajax({
url:'test',
type:'POST',
data:{id:id},
cache:false,
success: function(data){
$('#resp_top').html(data).find('#top');// this one works
$('#resp_bot').html(data).find('#bottom');// this returns the same content as the above
//$('#resp_bot').html($(data).filter('#bottom')); I have also tried this but doesn't work
}
})
.php
...
echo "<div id='top'>".$top_content."</div>";
echo "<div id='bottom'>".$bottom_content."</div>";
看起来您只是将数据的内容分配给div,而没有对其进行任何数据清理或过滤。
$('#resp_top').html(data).find('#top')
将数据对象添加到resp_top ID 的 HTML 中。
$('#resp_bot').html(data).find('#bottom');
将 SAME 数据对象添加到resp_bot ID 的 HTML 中。
查找不是在执行任何 DOM 操作,而只是查找元素而不对其进行任何操作。
您最好先处理数据,然后分配数据:
$('#resp_top').html($(data).find('#top'));
$('#resp_bot').html($(data).find('#bottom'));
这假定顶部/底部作为 ID 在数据对象中。
尝试使用返回具有两个返回值的 JSON 数组:
JavaScript:
$.ajax({
url:'test',
type:'POST',
data:{id:id},
dataType:'json',
cache:false,
success: function(data){
$('#resp_top').html(data[0]).find('#top');
$('#resp_bot').html(data[1]).find('#bottom');
}
})
.PHP:
echo "<div id='top'>".$top_content."</div>";
echo "<div id='bottom'>".$bottom_content."</div>";
echo json_encode(array("<div id='top'>".$top_content."</div>", "<div id='bottom'>".$bottom_content."</div>"));
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- YouTube V3 API——按持续时间过滤相关视频信息,不;似乎不起作用
- Jquery DataTable在单个列上进行多次过滤;不起作用
- AJAX 数据过滤不起作用
- 使用 angularjs 中的特殊 $ 字符按对象过滤不起作用
- 按复选框值过滤 JavaScript 不起作用
- AngularJS复选框过滤不起作用
- 为什么不'我的过滤功能不起作用吗?(Javascript)
- 在Angularjs应用程序中,使用嵌套对象属性过滤ng repeat不起作用
- Jquery同位素过滤机制不起作用,页面只是刷新
- Child Div过滤不起作用
- 通过javascript进行的Kendo UI网格过滤不起作用
- Javascript后期过滤系统不起作用
- 当JavaScript更新一个输入值时,AngularJS的过滤不起作用
- 可过滤行在Asp.net中不起作用,但在MVC中起作用
- Jquery过滤系统多重选择不起作用