使用ajax简单的仿照售房网站上根据城市,区域和街道选择房屋信息

news/2024/5/17 10:36:18/文章来源:https://blog.csdn.net/Cp3_zmx/article/details/77184953

使用ajax简单的仿照售房网站上根据城市,区域和街道选择房屋信息

  • **ssm框架
  • **js+ajax+json

数据表

**城市表

这里写图片描述

**区域表

city表中的id和region表中的cityid外键关联

这里写图片描述

**街道表

street表中的regionid和region表中的id外键关联

这里写图片描述

**房屋信息表
表中的city,region,street与对应的表中id字段关联起来
这里写图片描述

=========================
到数据库基本搞定之后我们就开始上代码了

先上前台代码,主要是js和ajax和json

多条房屋信息,可以采用forEach去遍历,我们这里采用的是json返回结果动态生成div和table中的tr标签。

城市,区域,街道都是同理。利用ajax,json,返一个result在对应的div中遍历内容。

html:

<body>
<script type="text/javascript" src="js/jquery-3.2.1.js"></script>
<script type="text/javascript">//遍历城市信息$(function(){$.ajax({url:"allCity.do",type:"post",dataType:"json",success:function(result){for(var i=0;i<result.length;i++){var id=result[i].id;var city=result[i].city;s_opt="<input id="+id+" onclick='cityclick(this.id,this.value)' value="+city+" style='border: none;'>";var opt=$(s_opt);$("#city").append(opt);}}});});
</script>
<script type="text/javascript">//城市点击触发事件  显示该城市之下的区域信息
function cityclick(str,va){$("#region").html("");$("#street").html("");var cityid=str;var city=va;$.ajax({url:"allRegion.do",type:"post",data:{"cityid":cityid},dataType:"json",success:function(result){for(var i=0;i<result.length;i++){var id=result[i].id;var region=result[i].region;s_opt="<input id="+id+" onclick='regionclick(this.id,this.value)' value="+region+" style='border: none;'>";var opt=$(s_opt);$("#region").append(opt);}}});
}
</script>
<script type="text/javascript">
//区域点击触发事件  显示该城市之下的街道信息
function regionclick(str,va){
$("#street").html("");var regionid=str;var region=va;$.ajax({url:"allStreet.do",type:"post",data:{"regionid":regionid},dataType:"json",success:function(result){for(var i=0;i<result.length;i++){var id=result[i].id;var street=result[i].street;s_opt="<input id="+id+" onclick='streetclick(this.id)' value="+street+" style='border: none;'>";var opt=$(s_opt);$("#street").append(opt);}}});
}
</script>
<script type="text/javascript">
//街道点击触发事件  显示该街道之下的区域信息
function streetclick(va){
$("#man_zone").html("");var street=va;alert(street);$.ajax({url:"ByStreetHouseSellInfo.do",type:"post",data:{"street":street},dataType:"json",success:function(result){for(var i=0;i<result.length;i++){if(result-""==0){$("#man_zone").append("暂无住房信息");}else{var id=result[i].id;var head=result[i].head;var floor=result[i].floor;var allfloor=result[i].allfloor;var toward=result[i].toward;var model=result[i].model;var price=result[i].price;s_opt="<tr id=dsad  style='width: 100%;height:50px;' class=houseinfo><td id="+id+"+idonclick='getHouseId(this.id)' style='width: 10%;text-align: center;'><img src='/RealeState/images/houseImg/backg.jpg'/></td><td id="+id+" onclick='getHouseId(this.id)' style='width: 90%;text-align: left;'><h3>"+head+"</h3><h4>楼层:"+floor+"/"+allfloor+"朝向:"+toward+"</h4><h4>户型:"+model+"价格:"+price+"元/平米</h4></td></tr>";var opt=$(s_opt);$("#man_zone").append(opt);}}}});
}
</script>
<script type="text/javascript">
//房屋触发时间,显示房屋具体信息
function getHouseId(va){var id=va;alert(id);$.ajax({url:"ByIdHouseSellInfo.do",type:"post",data:{"id":id},success:function(result){window.location.href="inOnlySellInfo.do";}});
}</script><div><h3>城市:</h3><div id="city" ></div><br><h3>区域:</h3><div id="region"></div><br><h3>街道:</h3><div id="street"></div><br>
</div><table  id="man_zone" style="width: 100%;height: 100%" border="1px"></table>
</div>
</body>

后台就相对比较简单了,就是简单的从数据中查询数据
controller:
city、region、street查询

/*** @author Administrator* */
@Controller
public class HouseInformationController {@Resourceprivate CityEmpDao cityDao;@Resourceprivate RegionEmpDao regionDao;@Resourceprivate StreetEmpDao streetDao;/*** 所有城市* * @return*/@RequestMapping("allCity.do")@ResponseBodypublic List<CityEmp> allCity() {List<CityEmp> list = cityDao.findAllCity();System.out.println("所有城市:" + list);return list;}/*** 区域* * @return* @throws UnsupportedEncodingException*/@RequestMapping("allRegion.do")@ResponseBodypublic List<RegionEmp> allRegion(HttpServletRequest req)throws UnsupportedEncodingException {req.setCharacterEncoding("utf-8");Integer cityid = Integer.parseInt(req.getParameter("cityid"));System.out.println(cityid);List<RegionEmp> list = regionDao.findAllRegion(cityid);System.out.println("区域:" + list);return list;}/*** 街道* * @return* @throws UnsupportedEncodingException*             //*/@RequestMapping("allStreet.do")@ResponseBodypublic List<StreetEmp> allStreet(HttpServletRequest req) throwsUnsupportedEncodingException{req.setCharacterEncoding("utf-8");Integer regionid=Integer.parseInt(req.getParameter("regionid"));System.out.println(regionid);List<StreetEmp> list=streetDao.findAllStreete(regionid);System.out.println("街道"+list);return list;}
}

house相关查询


@Controller
public class HouseSellEmpController {@Resourceprivate HouseSellEmpDao houseSellDao;@Resourceprivate HouseSellEmp houseSellEmp; /*** 进入售房信息的页面* @return*/@RequestMapping("inSellInfo.do")public String inSellInfo(){return "houseSell/sellInfo";}/*** 进入单个售房信息的页面* @return*/@RequestMapping("inOnlySellInfo.do")public String inOnlySellInfo(){return "houseSell/onlySellInfo";}/*** 全部售房信息* @return*/public String findAllHouseSellInfo(){List<HouseSellEmp> list=houseSellDao.findHouseSellInfo();return null;}/*** 根据street查询* @return* @throws UnsupportedEncodingException */@RequestMapping("ByStreetHouseSellInfo.do")@ResponseBodypublic List<HouseSellEmp> byStreetHouseSellInfo(HttpServletRequest req) throws UnsupportedEncodingException{req.setCharacterEncoding("utf-8");houseSellEmp.setStreet(req.getParameter("street"));System.out.println(houseSellEmp.getStreet());List<HouseSellEmp> list=houseSellDao.findByStreetHouseSellInfo(houseSellEmp);System.out.println(list);return list;}/*** 根据city查询* @param req* @return* @throws UnsupportedEncodingException*/@RequestMapping("ByCityHouseSellInfo.do")@ResponseBodypublic List<HouseSellEmp> byCityHouseSellInfo(HttpServletRequest req) throws UnsupportedEncodingException{req.setCharacterEncoding("utf-8");houseSellEmp.setCity(req.getParameter("city"));System.out.println(houseSellEmp.getCity());List<HouseSellEmp> list=houseSellDao.findByCityHouseSellInfo(houseSellEmp);System.out.println(list);return null;}/*** 根据id查询* @param req* @return*/@RequestMapping("ByIdHouseSellInfo.do")@ResponseBodypublic String byIdHouseSellInfo(HttpServletRequest req,HttpServletResponse res,HttpSession session) throws UnsupportedEncodingException{req.setCharacterEncoding("utf-8");Integer id=Integer.parseInt(req.getParameter("id"));System.out.println("shou"+id);houseSellEmp=houseSellDao.findByIdHouseSellInfo(id);session.setAttribute("onlySellInfo", houseSellEmp);System.out.println(houseSellEmp);return "正在加载...";}
}

dao层

 /*** 全部城市* @return*/public List<CityEmp> findAllCity();
/*** 根据regionid查询Street信息* @param regionid* @return*/public List<StreetEmp> findAllStreete(Integer regionid);
/*** 根据cityid查询所有的region信息*/public List<RegionEmp> findAllRegion(Integer cityid);
@MyBatisBiz
public interface HouseSellEmpDao {/*** 查看全部的售房信息* @return*/public List<HouseSellEmp> findHouseSellInfo();/*** 根据street查询售房信息* @param houseSellEmp* @return*/public List<HouseSellEmp> findByStreetHouseSellInfo(HouseSellEmp houseSellEmp);/*** 根据city查询售房信息* @param houseSellEmp* @return*/public List<HouseSellEmp> findByCityHouseSellInfo(HouseSellEmp houseSellEmp);/*** 根据id查询售房信息* @param id* @return*/public HouseSellEmp findByIdHouseSellInfo(Integer id);
}

sql 就不多阐述了,相对比较简单,

<mapper namespace="com.ly.rs.dao.HouseSellEmpDao"><select id="findHouseSellInfo" resultType="com.ly.rs.entity.HouseSellEmp">select * from housesell</select><select id="findByStreetHouseSellInfo" resultType="com.ly.rs.entity.HouseSellEmp" parameterType="com.ly.rs.entity.HouseSellEmp">select * from housesell where street=#{street}</select><select id="findByCityHouseSellInfo" resultType="com.ly.rs.entity.HouseSellEmp" parameterType="com.ly.rs.entity.HouseSellEmp">select * from housesell where city=#{city}</select><select id="findByIdHouseSellInfo" resultType="com.ly.rs.entity.HouseSellEmp" parameterType="java.lang.Integer">select * from housesell where id=#{id}</select>
</mapper>

结语:

 新人第一次写博客,希望大家多多包涵,这篇博客主要是用ajax来动态生成内容,取代forEach,顺便表达下ajax的功能之强大,这个demo是作者,平时写玩的,可能有代码不规范之处,阐述不清楚的地方,希望大家多多指教,demo使用的是SSM框架。谢谢大家!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_882554.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用户登录网站

用户登录网站&#xff08;servlet 1.2&#xff09; 一、视图层 Login.Java(登录界面) LoginCl.java(验证用户) Wel.java(欢迎界面) 二、模型层 ConnDB.java(数据库连接) UserBean.java(表示users表) UserBeanCl.java(业务逻辑控制) 三、注意&#xff1a; 1.部署web.xml 2.添加M…

Grafana+Prometheus+blackbox_exporter+Alertmanager 监控主机、端口存活及网站接口状态(二)

1.摘要 本文主要介绍如何使用blackbox_exporter的收集被监控主机的网站状态、端口等信息&#xff0c;借助 Prometheus 最终以仪表盘的形式显示在 Grafana 中。 blackbox_exporter是Prometheus 官方提供的 exporter 之一&#xff0c;可以提供 http、dns、tcp、icmp 的监控数据…

解决:Godaddy域名解析很慢,网站经常打不开或者解析失败

域名是在goddady买的&#xff0c;去dns解析自己的域名之后&#xff0c;发现打开网站经常打不开、很慢&#xff0c;解析出错等问题。我一开始以为这个是不是自己的服务器问题&#xff0c;毕竟买的国外的。 但是后面我发现&#xff0c;不解析域名打开的网站很快啊&#xff0c;自…

好东西大家分享:说说大型高并发高负载网站的系统架构

转载请保留出处&#xff1a;俊麟 Michael’s blog (http://www.toplee.com/blog/?p71)Trackback Url : http://www.toplee.com/blog/wp-trackback.php?p71 我在CERNET做过拨号接入平台的搭建&#xff0c;而后在Yahoo&3721从事过搜索引擎前端开发&#xff0c;又在MOP处理过…

大型网站--负载均衡架构

转自&#xff1a;http://www.cnblogs.com/and/p/3366400.html 负载均衡 &#xff08;Load Balancing&#xff09; 负载均衡建立在现有网络结构之上&#xff0c;它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性…

如何提高网站ip流量

网站流量是衡量一个网站质量的标准之一&#xff0c;那么怎么提高网站流量呢&#xff0c;网站流量提高有哪些方法呢&#xff0c;下面就来介绍一下&#xff1a; 1、域名的选择在选择域名的时候最好选择简短并且与自己企业名称或者业务相关的域名&#xff0c;域名注册最好选择.co…

大型网站架构演变和知识体系(转载)

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为什么…

使用PortTunnel来透过局域网架网站

如今宽带已经不再是一个新鲜名词了&#xff0c;很多朋友也希望能够为丰富网络资源贡献一些自己的力量&#xff0c;而通过宽带架设Web网站或者是提供FTP下载服务则是最佳的选择。不过现在很多宽带用户都是使用电信、长城、聚友等一些城域网&#xff0c;也就是说整个公司在Intern…

公众号网站——微信登录

1、在微信公众号平台&#xff1a;接口权限->网页服务->网页授权 点击修改进入功能设置。设置网页授权域名 2、下载txt文件&#xff0c;放入服务器&#xff0c;填写域名。注意&#xff1a; 域名/MP_***.txt(文件名) 要能访问到下载下来放到服务器上的txt文件 &#xff0…

渗透实用的工具网站 希望对你们有用,

希望对你们有用&#xff0c; 以前找东西&#xff0c;要么记不住&#xff0c;要么找不到 http://dns.aizhan.com&#xff08;ip翻查域名绑定&#xff09; http://ping.chinaz.com/ https://www.17ce.com/ &#xff08;检测是CDN&#xff09; https://xssaq.com (xss平台…

MVC开发模式下网站策划/产品经理的角色定位

当前国内的主流建站程序都是采用了MVC三层架构来开发&#xff0c;对于网站的后期维护与应用过程&#xff0c;都有很大的裨益。由于MVC开发模式将前端设计、程序开发进行了明确的定义与分工&#xff0c;但是并没有对网站策划进行过多的定义与着墨&#xff0c;在这里&#xff0c;…

网站链接被微信屏蔽拦截了怎么办?VJump帮你解除屏蔽

出现这种情的原因呢&#xff0c;我相信大家也去了解了很多&#xff0c;但是对于商家来说&#xff0c;我们要避免出现这种情况&#xff0c;或出现了要立马解决。了解原因再去想解决办法是技术的事情。一天没解决&#xff0c;就多一天的损失。原因大同小异&#xff0c;无非是域名…

网站被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决

先来认识一下微信屏蔽的原理。按原理逐个攻破&#xff0c;整理如下&#xff1a;微信屏蔽的原理 一、微信系统的两个检测手段&#xff1a;第一是系统的自动检测&#xff1b;第二是微信工作人员的人工检测。 二、 人工的检测很好理解&#xff0c;有用户投诉举报&#xff0c;在多…

10.3使用Koa中间件构建网站雏形

Chapter&#xff1a;10.服务端环境搭建和开发过程 10.3使用Koa中间件构建网站雏形 1.安装依赖包 老师提供的package.json 文件包含了要下载的包(查看该文件代码很容易理解&#xff0c;相当于就是一个写好的脚本) 10.3.1package.json文件内容.png 步骤 创建文件主目录webApp…

10.6网站服务端Ajax接口的完整开发(用于数据交互)

Chapter&#xff1a;10.服务端环境搭建和开发过程 10.6网站服务端Ajax接口的完整开发(用于数据交互) 1.初步了解接口&获取mock数据文件 查看网站 dushu.xiaomi.com (实际开发中如果http接口没有写好需要用测试数据的话&#xff0c;应该是和后端沟通拿到测试数据)&#x…

用心服务每一所高校:传智播客旗下院校服务品牌——院校邦官方网站正式上线!

文章目录 院校邦官网介绍院校邦业务范围介绍院校邦展望 院校邦官网介绍 经过长达半年时间的筹备&#xff0c;近日&#xff0c;传智播客旗下院校服务品牌——院校邦官方网站&#xff08;www.ityxb.com&#xff09;正式上线运行。 官网旨在为教师备课、技能充电、教学改革提供一…

seo优化之怎样降低网站跳出率

前面我们写到了什么是网站PV&#xff0c;其中就谈到了什么是跳出率&#xff0c;跳出率就是只访问了网站一个页面就离开了的用户占全部访问用户的百分比。今天深圳SEO就来详细解释一下什么是跳出率&#xff0c;怎样把跳出率降到最低。 只访问了网站一个页面就离开了网站&#x…

优秀网站导航设计的6个原则

在建立一个优秀的网站时&#xff0c;很难低估网站导航的重要性。虽然它不像其他一些主题那样华而不实&#xff0c;但错误的做法可能会使您的企业损失数万美元。 例如&#xff0c;考虑以下错误&#xff1a; 潜在客户没有意识到您提供特定服务&#xff0c;因此他们不会与您联系…

响应式网站建设:为什么它对您来说很重要

随着移动网站流量的持续增长&#xff0c;公司不能再拖延响应性网站建设的时间。 响应式网站设计早就退出了“早期采用者”阶段。互联网用户现在完全希望网站能够智能地响应他们使用的任何设备。 2017年&#xff0c;全球50.3%的网站访问来自手机。 我们走了很长一段路&#x…

如何针对搜索结果的精选代码进行seo优化

如果您希望为您的网站吸引更多流量并让更多用户点击您的内容&#xff0c;那么在搜索引擎中显示为精选摘要可能有所帮助。但是&#xff0c;如何将您的内容置于搜索结果中这个令人垂涎的地方? 在这篇文章中&#xff0c;深圳seo外包公司千赋科技讲带大家一起探讨&#xff1a; 什…