必填的用户名 发表于 2019-5-13 18:20:44

Ajax

我是在myeclips10上用的自己安装的tomcat7,浏览器上也显示启动成功了
问题是:
        为什么myAjax.jsp在浏览器上点击测试不会出现"哈哈,今天雾霾是……",但是我加的alert却能执行,会弹出提示"test"
另外,相同代码我发布到myeclipse10自带的tomcat服务器上,虽然结果还是不对,但是好歹也能出现个"请求资源不存在"
以下是myAjax.jsp的代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
           <title></title>
           <!-- 声明js代码域-->
           <script type="text/javascript">
                   function getData(){
                   //创建ajax引擎对象
                           var ajax;
                           if(window.XMLHttpRequest){//火狐,防止低版本浏览器
                                   ajax = new XMLHttpRequest();
                           }else if(window.ActiveXObject){//ie
                                   ajax = new ActiveXObject("Msxm12.XMLHTTP");                        
                           }
                   //复写onreadystatement函数
                           ajax.onreadystatechange = function(){
                                   //判断Ajax状态码
                                   if(ajax.readyState == 4){
                                           //判断响应状态码
                                           if(ajax.status == 4){
                                                   //获取相应内容
                                                         var result = ajax.responseText;
                                                         alert(result);///总共触发了四次                                           
                                                         //获取元素内容
                                                         var showdiv = document.getElementById("showdiv");
                                                         //修改元素内容
                                                         showdiv.innerHTML = result;
                                           }
                                           else if(ajax.status == 500){
                                                   //获取元素内容
                                                         var showdiv = document.getElementById("showdiv");
                                                         //修改元素内容
                                                         showdiv.innerHTML = "服务器繁忙";
                                           }
                                           else if(ajax.status == 404){
                                                   //获取元素内容
                                                         var showdiv = document.getElementById("showdiv");
                                                         //修改元素内容
                                                         showdiv.innerHTML = "请求资源不存在";
                                           }
                                   }
                           }
                   //发送请求
                           ajax.open("get", "ajax");
                           ajax.send(null);
                           alert("test");
                  
                   }
           </script>
           <style type="text/css">
                   #showdiv{
                           border:solid 1px;
                           width: 200px;
                           height: 100px;
                   }
           </style>
</head>

<body>
    <h3>欢迎登陆403峡谷</h3>
    <hr>
    <input type="button" value="测试" onclick="getData()">
        <div id="showdiv">
       
        </div>
</body>
</html>

这里是AjaxServlet.java文件:
/**
*
*/
package com.servlet;

/**
* @author
* @date:2019-5-13下午3:05:00
* @ClassName
* @Description
*/

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ajax")//这个有使用条件,tomcat要7.0及其以上,web项目要3.0
public class AjaxServlet extends HttpServlet{
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp)
                        throws ServletException, IOException {
                //设置请求编码格式
                //设置响应编码格式
                        resp.setCharacterEncoding("utf-8");
                        resp.setContentType("text/html;charset=utf-8");
                //获取请求信息
                //处理请求信息
                //响应处理结果
                        resp.getWriter().write("今天的雾霾真是新鲜,666");
        }
}

必填的用户名 发表于 2019-5-13 19:41:50

打扰了打扰了,不知道我怎么的就把ajax.status == 200给改成ajax.status == 4了
页: [1]
查看完整版本: Ajax