标题:ajax异步:jsp无法传输数据到Servlet????
只看楼主
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
结帖率:90%
已结贴  问题点数: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 import 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有问题吗??
搜索更多相关主题的帖子: Servlet text import Map String 
2018-10-11 16:50
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
我猜你是没配置请求的路径吧web.xml写了啥

剑栈风樯各苦辛,别时冰雪到时春
2018-10-11 17:00
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
得分:0 
回复 2楼 林月儿
跟以前一样配置的啊
贴出来给你

程序代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www. xmlns:web="http://xmlns. xsi:schemaLocation="http://xmlns. http://java. <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
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
浏览器地址写了啥

剑栈风樯各苦辛,别时冰雪到时春
2018-10-12 15:24
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
得分:0 
回复 4楼 林月儿

页面都挺正常,但是数据没传过去。。
2018-10-12 15:27
wlrjgzs
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:212
专家分:1566
注 册:2017-4-10
得分:0 
问题在ajaxServlet.java上。
2018-10-12 17:46
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
得分:0 
回复 6楼 wlrjgzs
嗯??代码编译没问题啊?语义上的问题??
2018-10-12 17:50
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册: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);
        }   
    }

剑栈风樯各苦辛,别时冰雪到时春
2018-10-12 18:44
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
得分:0 
回复 8楼 林月儿
??眼盲,没看出来有问题啊。
2018-10-12 22:29
wlrjgzs
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:212
专家分:1566
注 册:2017-4-10
得分:20 
以下是引用渐渐鱼在2018-10-12 17:50:18的发言:

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

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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490301-1-1.html




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

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