发布于2024-12-12 18:08 阅读(218) 评论(0) 点赞(16) 收藏(3)
我创建了一个过滤器form
,当我提交该表单时,它会向发送一个 ajax 请求give_results_json.php
,然后在后端give_results_json.php
对数据库进行查询并以JSON
格式返回数据。
给出结果_json.php
$rows = $pdo->query($query);
echo json_encode($rows);
返回数据
[{"title":"Top Class home",,"cnt_rooms":3,"floor":1,"square_living":372},{"title":"Home of Dreams",,"cnt_rooms":4,"floor":2,"square_living":374}....]
然后我使用 jQuery 处理这些数据,以 HTML 形式显示数据
json 数据由 Jquery 在前端处理
function property_str(value_obj){
return '<div class="property-container"><div><<div class="detail"><div class="fig-title clearfix"><h3>'+value_obj.title+'</h3></div><ul><<li>'+value_obj.cnt_rooms+' Rooms</li><li>'+value_obj.square_living+' Sq Ft</li></ul></div></div>';
}
$('#filter_form').on("submit",function(e){
e.preventDefault();
$.ajax({
type: 'get',
url: "give_results_json.php",
data: $(this).serialize(),
success: function(data){
json_obj = $.parseJSON(data);
var result_str =''
$.each(json_obj, function(index,value){
result_str += property_str(value)
});
$("#filter_results").html(result_str)
}});
});
上述方法是否正确?或者最好在后端处理数据并返回 HTML 结果,然后 javascript 只需将该数据附加到页面即可
所以give_results_json.php
将成为give_results_html.php
给出结果的html.php
$rows = $pdo->query($query);
foreach($rows as $row){
$complete_html_str .= '<div class="property-container"><div><<div class="detail"><div class="fig-title clearfix"><h3>'.$row['title'].'</h3></div><ul><<li>'.$row['cnt_rooms'].' Rooms</li><li>'+$row['square_living']+' Sq Ft</li></ul></div></div>';
}
echo $complete_html_str;
返回数据
<div class="property-container"><div><<div class="detail"><div class="fig-title clearfix"><h3>Top Class home</h3></div><ul><<li>3 Rooms</li><li>'+374 Sq Ft</li></ul></div></div><div>...........
可以通过 Jquery 在前端轻松处理
$.ajax({
type: 'get',
url: "give_results_json.php",
data: $(this).serialize(),
success: function(data){
$("#filter_results").html(data)
}});
注意:实际上,从数据库返回的数据要多得多,大约有 20 列,但我需要一次获取 20 行的数据
谢谢!
我认为方法 2 是错误的,因为它返回的是 VIEW 层(HTML 标记)。但事实并非如此。您应该将 DATA 与 VIEW 分开。方法 2 没有做到这一点。方法 1 要好得多,尽管我也会将方法更改为使用 jquery 对象创建,而不是返回纯 html。现在看起来实际上是property_str
在用数据填充模板。这种方法可行且可读,但实际上并不被认为是“jquery 方式”。
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/538561/7f7a5c5bcc70004a09e6/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!