html: <script> function getWeather(){ $.ajax({ type:”post”,//请求方式 url:”weather”,//发送请求地址 data:{//发送给数据库的数据 province:$(“#province”).val(), site:$(“#site”).val() }, dataType:”json”, success:function(result){ console.log(result); $(“#query”).html(result.value); }, error : function(request, error) { alert(“”Sorry, some unexpected errors happened. Please contact your system administrator””); } }); } </script> </head> <body> <h1>天气查询</h1> <form > 请选择地点: <select name=””province”” id=””province”” onChange=””getSite(this.options.selectedIndex)””> <option value=””辽宁”” selected=””selected””>辽宁</option> <option value=””重庆”” >重庆</option> </select> <select id=””site”” name=””site””> <option value=”大连” selected=””selected””>大连</option> </select> <input type=”submit” value=”提交” onclick=””getWeather()””> </form> <div id=””query””></div> </body> protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(“utf-8”); response.setCharacterEncoding(“gbk”); String site=request.getParameter(“site”); String province=request.getParameter(“province”); WeatherUtil wu=new WeatherUtil(); int provinceCode = wu.getProvinceCode(province); int cityCode = wu.getCityCode(provinceCode, site); List<String> weatherList = wu.getWeather(cityCode); PrintWriter pw=response.getWriter(); ObjectMapper mapper = new ObjectMapper(); String result=mapper.writeValueAsString(weatherList); pw.write(result); } |
|
#1 |
求解
|
#2 |
你将form表单的提交方式设置为post试试看
|
#330分 |
<input type=”submit” value=”提交” onclick=””getWeather()””> 你的按钮的type为submit的时候,会优先提交form,而你的form没有指定method=“post” 所以后台的servlet接收不到post数据
2中解决: 1、将input的标签的type值submit改为button,让他去调用js的ajax方法 2、更改form表单的action属性 和method属性 |
#4 |
url:”weather”,//发送请求地址 你确定这个地址能到的?能运行到你指定的servlet的?
|
#5 |
回复3楼: 赞同楼上的说法,还有你的地址是不是对的? |
#6 |
回复5楼: 看你在论坛很活跃啊~ |
#7 |
回复6楼: 你咋知道的? |
#8 |
回复7楼: 论坛首页,昨日得分最多的是你…. 你说我知道么… |
#9 |
回复8楼: 不会吧,我昨天得分最多吗? 多少分? |
#10 |
回复9楼: 论坛首页,发帖按钮的下面有个 论坛标兵 第一个就是你,你的头像太让人记住了 |
#11 |
回复10楼: 头像是百度的,我还是第一个,想想我也是醉了,又没啥好处… |
#12 |
回复11楼: 喜欢不,我还有更好的。 |
#13 |
回复12楼: 停! 到此截止,别回了 要聊的话,你私聊QQ给我,我加你 |
#14 |
回复13楼: 请查收 |
#15 |
回复3楼: 按你说的方法解决问题了 谢谢你 |
#16 |
回复5楼: 我的地址应该是没有问题的 因为如果直接在form里 action=‘weather’是可以成功去到后台的 不过通过上面的方法问题就解决了 |