| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
免费IT实战开发视频教程合集分享千里之行 始于足下
共有 294 人关注过本帖
标题:ajax异步:jsp无法传输数据到Servlet????
只看楼主 加入收藏
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2018-5-11
结帖率:100%
  已结贴   问题点数:20  回复次数:12   
ajax异步:jsp无法传输数据到Servlet????
jsp代码
程序代码:
<%@ page pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>省会查询</title>
</head>
<body>
<script>
function ajaxProcess(obj)
{
    var xhr = new XMLHttpRequest();
    var text=obj.value;
    var url="ajax/ajaxServlet?text="+text;

    xhr.onreadystatechange=function()
    {
        if(xhr.readyState==4&&xhr.status==200)
        {
        doucment.getElementById("provincial_captial").value=xhr.responseText;
        }
    };
   
    xhr.open("GET",url,true);
    xhr.send();
   
   
}
</script>
<h1>获取省份对应的省会信息</h1>
<label>输入省份</label><input type="text" id="province" onblur="ajaxProcess(this)">
<br><br>
<label>对应省会</label><input type="text" id="provincial_capital">

</body>
</html>


ajaxServlet.java
程序代码:
package ajax;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ajaxServlet extends HttpServlet
{
    private static final long serialVersionUID = 1L;
      
   
    public ajaxServlet()
    {
        super();
     
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        Map<String,String> map = new HashMap<String,String>();
        map.put("上海市","上海");
        map.put("湖北省","武汉");
        PrintWriter out = response.getWriter();
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        
        String text = request.getParameter("text");
        out.print(text);
        out.print("<br>");
        String provincial_captial = map.get(text);
        
        if(provincial_captial==null)
        {
            out.print("Error");
        }
        else
        {
            out.print(provincial_captial);
        }   
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
   
        doGet(request, response);
    }

}


确认过了,input的值在没有传过去?是url有问题吗??
2018-10-11 16:50
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:101
帖 子:1660
专家分:7215
注 册:2015-3-19
  得分:0 
我猜你是没配置请求的路径吧web.xml写了啥

wechat    PrinceThumb
2018-10-11 17:00
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2018-5-11
  得分:0 
回复 2楼 林月儿
跟以前一样配置的啊
贴出来给你

程序代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>ajaxServlet</servlet-name>
    <servlet-class>ajax.ajaxServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ajaxServlet</servlet-name>
    <url-pattern>/ajax/ajaxServlet</url-pattern>
  </servlet-mapping>
 
</web-app>
2018-10-12 12:10
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:101
帖 子:1660
专家分:7215
注 册:2015-3-19
  得分:0 
浏览器地址写了啥

wechat    PrinceThumb
2018-10-12 15:24
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2018-5-11
  得分:0 
回复 4楼 林月儿

页面都挺正常,但是数据没传过去。。
附件: 您没有浏览附件的权限,请 登录注册
2018-10-12 15:27
wlrjgzs
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:25
帖 子:195
专家分:1387
注 册:2017-4-10
  得分:0 
问题在ajaxServlet.java上。
2018-10-12 17:46
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2018-5-11
  得分:0 
回复 6楼 wlrjgzs
嗯??代码编译没问题啊?语义上的问题??
2018-10-12 17:50
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:101
帖 子:1660
专家分:7215
注 册:2015-3-19
  得分:0 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        Map<String,String> map = new HashMap<String,String>();
        map.put("上海市","上海");
        map.put("湖北省","武汉");
        PrintWriter out = response.getWriter();
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        
        String text = request.getParameter("text");
        out.print(text);
        out.print("<br>");
        String provincial_captial = map.get(text);
        
        if(provincial_captial==null)
        {
            out.print("Error");
        }
        else
        {
            out.print(provincial_captial);
        }   
    }

wechat    PrinceThumb
2018-10-12 18:44
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2018-5-11
  得分:0 
回复 8楼 林月儿
??眼盲,没看出来有问题啊。
2018-10-12 22:29
wlrjgzs
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:25
帖 子:195
专家分:1387
注 册:2017-4-10
  得分:20 
以下是引用渐渐鱼在2018-10-12 17:50:18的发言:

嗯??代码编译没问题啊?语义上的问题??

不是语法问题,而是逻辑上存在问题。
2018-10-13 13:16







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054257 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved