`
runfeel
  • 浏览: 935690 次
文章分类
社区版块
存档分类
最新评论

ajax终结篇

 
阅读更多

Ajax中post和get的区别

在ajax中有这个方法

xmlreq.open("post","servlet/MyServlet?time="+newDate().getTime(),true);

这里的第一个参数表示的是提交方式。可以是post和get

这两个是有区别的。

Get处理数据效率高,但是传输量小,一般在1K左右。Post相反。

如果是get那么xmlreq.open(null)open只能是空。

如果是post那么xmlreq在open的时候,得先加上xmlreq.setRequestHeader("Content-Type","application/x-www-form-urlencoded") ;

那么在open()里面是可以传数据的。

现在我写一个关于用post,与servlet的相互数据传递。

第一个是:index.jsp

<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>

<%

Stringpath = request.getContextPath();

StringbasePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>

<script type="text/javascript"src="js/fish.js"></script>

</head>

<body>

<input id="mybutton"type="button" value="加载数据" />

</body>

</html>

第二个:fish.Js

window.onload= function() {

function createXMLHttpRequest() {

var xmlhttp=null;//请求对象

try {//IE浏览器中创建此对象

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try { //IE浏览器中创建此对象

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {

try {

// Firefox,Chrome, Opera, Safari浏览器中创建此对象

xmlhttp = new XMLHttpRequest();

if (xmlhttp.overrideMimeType) {

xmlhttp.overrideMimeType("text/xml");

}

} catch (e) { alert("浏览器不支持xmlHttpRequest!"); }

}

}

return xmlhttp;

}

document.getElementById("mybutton").onclick = function() {

//得到xmlhttprequest对象

var xmlreq=createXMLHttpRequest();

xmlreq.onreadystatechange=function(){

alert(xmlreq.status);

alert(xmlreq.responseText);//这是获取servlet的文本属性的,就是获取out的值。他如果这里是xml形式那么就用responseXml

}

//打开与服务器的连接

//xmlreq.open("get","servlet/MyServlet?time="+newDate().getTime(),true);

xmlreq.open("post","servlet/MyServlet?time="+new Date().getTime(),true);

//发送数据

xmlreq.setRequestHeader ("Content-Type","application/x-www-form-urlencoded") ;

xmlreq.send("b=45&a=33");

//服务器响应

}

}

第三个:packagecom.fish;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet{

publicvoid doGet(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

PrintWriterout = response.getWriter();

System.out.println("**************");

out.print("aa");

out.print("bb");

//String a= request.getParameter("fish");

//System.out.println(a);

//

}

publicvoid doPost(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

PrintWriterout = response.getWriter();

System.out.println("**************");

System.out.println(request.getParameter("a"));//这个和上面的js里面的send方法想对应。这样就可以输出a的值:33

System.out.println(request.getParameter("b"));

out.print("aa");//这样传给js

out.print("bb");//这样传给js

//String a= request.getParameter("fish");

//System.out.println(a);

//

}

}

4,配置的servlet的web.xml

<?xml version="1.0"encoding="UTF-8"?>

<web-app version="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name></display-name>

<servlet>

<servlet-name>MyServlet</servlet-name>

<servlet-class>com.fish.MyServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>MyServlet</servlet-name>

<url-pattern>/servlet/MyServlet</url-pattern>

</servlet-mapping>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

分享到:
评论

相关推荐

    JS组件系列之Bootstrap table表格组件神器【终结篇】

    JS组件系列之Bootstrap table表格组件神器【终结篇】 JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】 Bootstrap Table是轻量级的和功能丰富的以表格的形式显示的数据,支持单选,复选框,排序,...

    extJs 2.1学习笔记

    18. extJs 2.0学习笔记(Ext.Panel终结篇) 40 19. extJs 2.0学习笔记(事件注册总结篇) 45 20. extJs 2.0学习笔记(Ext.Panel篇一) 48 21. extJs 2.0学习笔记(Ext.Panel篇二) 50 22. extJs 2.0学习笔记(Ext.Panel篇三) ...

    extJs+2.1学习笔记.pdf

    15. **extJs 2.0 学习笔记(Ext.Panel终结篇)** Panel是构建UI的基本组件,涵盖了布局、标题、工具栏等多种功能。掌握Panel的使用和配置,能创建复杂而灵活的界面。 16. **extJs 2.0 学习笔记(事件注册总结篇)*...

    JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】

    Bootstrap Table是轻量级的和功能...JS组件系列之Bootstrap table表格组件神器【终结篇】 JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】 一、效果展示 今天稍微改变下方式,先来看看实现效果,

    Ext 学习总结 pdf版

    - **ExtJs2.0学习笔记(Ext.Panel终结篇)**:深入探讨了`Ext.Panel`组件的各种特性和用法。 - **ExtJs2.0学习笔记(事件注册总结篇)**:总结了Ext JS 2.0中事件处理的相关知识,包括事件监听、触发等。 - **ExtJs2.0...

    extjs3.x+swfupload.swf多文件上传终结版

    这篇内容将深入解析这两个技术以及它们如何协同工作。 **ExtJS 3.x** ExtJS 是一个流行的JavaScript库,主要用于构建富互联网应用程序(RIA)。在3.x版本中,它提供了丰富的组件库,如表格、窗口、菜单、表单等,...

    jquery跨域调用wcf

    本篇文章将详细探讨如何使用JQuery实现跨域调用Windows Communication Foundation (WCF)服务。 **一、理解跨域** 跨域是指浏览器的同源策略限制了JavaScript从一个域名下的网页向另一个域名下的资源发送Ajax请求。...

    jQueryWcfDem

    本篇将深入探讨如何利用jQuery与WCF进行数据交换和交互。 一、jQuery与WCF简介 1. jQuery:以其简洁的API和强大的功能,使得JavaScript编程变得更加简单。jQuery提供了Ajax功能,允许开发者在不刷新整个页面的情况...

    WCF运行实例

    在本篇详述中,我们将深入探讨WCF的运行实例,以及如何利用jQuery与WCF服务进行交互。 ### WCF服务生命周期 WCF服务实例化模式分为两种主要类型:单例(Singleton)和服务实例化(Per Call 或 Per Session)。每种...

    面试问题更新鲜

    本篇将针对"面试问题更新鲜"这一主题,深入探讨C#、WCF、Ajax以及ASP.NET等领域的重要知识点。 首先,C#作为微软开发的面向对象的编程语言,广泛应用于Windows平台和.NET框架。面试中可能涉及的关键概念包括:类与...

    .net3.5 WCF实现jsonp

    以下是一篇关于如何在.NET 3.5 WCF中实现JSONP的详细解释。 首先,理解JSONP的工作原理是至关重要的。当一个网页上的JavaScript需要从不同源获取数据时,由于浏览器的同源策略限制,通常无法直接发起请求。JSONP...

    JQ1.8.2和3.1和1.12.4.rar

    本篇将深入探讨jQuery的三个重要版本——1.8.2、3.1.1和1.12.4,了解它们的核心特性以及版本间的差异。 首先,jQuery 1.8.2是jQuery 1.x系列的一个稳定版本,它在1.8.0的基础上修复了一些已知问题,提高了整体性能...

Global site tag (gtag.js) - Google Analytics