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

JS实现AJAX (加转码的操作)

 
阅读更多

客户端jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">

function ajaxFunction() {
var xmlHttp;

try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e) {

// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {

try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
var username = document.getElementByIdx_x("uid").value;
xmlHttp.onreadystatechange = function()

{
if (xmlHttp.readyState == 4) {
document.myForm.time.value = xmlHttp.responseText;
}
}


xmlHttp.open("POST", "Ser", true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//解决中文问题2必须放到这个位置
xmlHttp.send("username="+username); //如果用的是第一种解码方式这里括号内写成null在上面的用地址栏传参

}
</script>
</head>

<body>
<%
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
%>

<center>
<form action="" method="POST" name="myForm">
name:
<input type="text" name="name" id="uid" onkeyup="ajaxFunction()" />

<br />
ajax:
<input type="text" name="time" />
<br>

</form>

</center>

</body>
</html>

服务器端servlet

package com.servlet;

import java.io.IOException;

import java.io.PrintWriter;
import java.net.URLDecoder;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.crypto.Data;

public class Ser extends HttpServlet {

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

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String username2 = request.getParameter("username");
//String uu = URLDecoder.decode(username, "utf-8");//转码解决中文问题1

out.print(username2);
}

}

这里提到了两种解决中文问题的方法 在这里建议使用设置头部的方法xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

分享到:
评论

相关推荐

    xe-ajax3.0.11.js

    XEAjax 一个不依赖于任何框架、开源的请求函数,支持XHR、jsonp以及mock等常用函数,其特点是...任何支持 Promise 的环境都能运行,低版本浏览器使用 babel 转码 支持 IE8+、Edge、Chrome、Firefox、Opera、Safari等...

    ajax 的post方法实例(带循环)

    用上循环就是为了在数据发送前进行合理的处理,解决在脚本语言对数据进行另外需求处理时出现的超时现象。处于对ajax认识未深,如有说得不对或不到位的,还... 您可能感兴趣的文章:js+ajax处理java后台返回的json对象循

    xe-ajax-mock1.4.7.js

    基于 XEAjax 扩展的前端虚拟服务插件,对于前后端分离开发模式,使用 ajax+mock 就非常有必要。 兼容性 任何支持 Promise 的环境都能运行,低版本浏览器使用 babel 转码 支持 IE8+、Edge、Chrome、Firefox、Opera...

    xe-ajax-mock1.4.9.js

    基于 XEAjax 扩展的前端虚拟服务插件,对于前后端分离开发模式,使用 ajax+mock 就非常有必要。 兼容性 任何支持 Promise 的环境都能运行,低版本浏览器使用 babel 转码 支持 IE8+、Edge、Chrome、Firefox、Opera...

    DEDE_AJAX最佳星级评分插件[其他PHPCMS也可]

    ##### 仅提供GBK版本插件,UTF-8 请自行转码。 ##### 提醒与感谢:其中需要修改的地方都已经在相应文件中注明,非常简单;另外本插件的JS部分来源于马克斯电影系统,借用了其中的JS代码,编写了PHP操控数据库代码。

    JavaScript 封装Ajax传递的数据代码

    在使用Ajax传输数据时,少不了对传递的字符进行转码,我的实现方式是将需要传递的数据暂存到一js Bean中,将js Bean放到Array中,生成传输参数时对Array中的jsBean进行分解,得到相应属性信息并编码..

    xe-ajax3.0.13.js

    XEAjax 一个不依赖于任何框架、开源的请求函数,支持XHR、jsonp以及mock等常用函数,其特点是...任何支持 Promise 的环境都能运行,低版本浏览器使用 babel 转码 支持 IE8+、Edge、Chrome、Firefox、Opera、Safari等...

    解决js数据包含加号+通过ajax传到后台时出现连接错误

    昨天有人提出一个bug,说“B+侦探”和”C+侦探”不能看,我当时很郁闷,因为其他资源是可以播放的,为什么这个不能播放,而且电影名称我都是字符转换过的,在不断调试中,发现url地址电影名字转码后存在一个“+”,...

    js获取url中"?"后面的字串方法

    主要介绍了js如何获取url中"?"后面的字串,需要的朋友可以参考下

    Extjs4笔记收藏

    action返回成功的处理.txt,ajax调用返回并返回的json的转码.txt,array的操作.txtdatefield未加工的数据.txt,grid列表搜索绑定.txt,js的文件读写.txt,margin边缘宽度的设置.txt,store获取控件刷新.txt,store...

    php自定义urlencode,urldecode函数实例

    //配合JavaScript的ajaxObject函数, 对字串进行转码. function ajax_encode($str){ $patern = array("/%/","/=/","/&/"); // % 必须是第一个项, 替换是按项的顺序进行的. $rp = array("%","&","="); return preg...

    vue.js图片转Base64上传图片并预览的实现方法

    对于前端人员来说,图片处理...针对这种问题,这里我推荐使用图片转base64格式,再发给后端,后端只需将转码结果存入数据库即可,前端调用接口直接获取到base64数据直接写入img src 标签即可 下面使用element ui upload

    jquery.autocomplete 用户输入城市名、或拼音即可有匹配的提示

    中文输入后,服务端不能正常获取ajax提交的数据(此处,当然可以用相应转码,本人试了n种方便仍改),细看代码发现, 是用 $.get(this.serviceUrl, me.options.params, function(txt) { me.processResponse(txt); }...

    CC威视 CCvms v2.0 正式版

    3、没有转码完成的视频不再出现在前台,视频的各种转码状态将能在后台观看 5、重构图片本地化机制,加入缩略图机制,本地化图片更佳 4、后台视频搜索增加按tag搜索,更加方便地查找所需视频 6、生成视频和频道...

    WordPress博客主题 Beginning(更新至 4.1.1 版本)

    在不支持 JavaScript 的情况下依然可以通过普通的加载方式正常浏览网站;AJAX 加载时可以显示进度条 响应式设计,移动端完全重新设计,模仿 iOS 原生 APP;主题的图片为双倍缩放,图标是字体图标,在 Retina 屏幕下...

    jquery-sdk:Transloadit的jQuery SDK。 我们建议这些天改用Uppy

    是一项服务,可帮助您处理文件上传,调整图像大小,裁剪和给图像加水印,制作GIF,对视频进行转码,提取缩略图,生成音频波形等等。 简而言之, 是您档案的瑞士军刀。 这是一个jQuery SDK,可轻松与 REST API进行...

    WordPress主题 大前端 阿里百秀 XIU ALIBAIXIU 小清新CMS高级主题[更新v3.2]

    如果后台有链接功能的说明已经可以实现了,没有链接功能的请安装wp官方自己的插件link-manager即可 1.1版本升级: 解决no-category有可能失效的问题; 解决列表作者名前加网站名的样式问题; 解决相关文章缩略图...

Global site tag (gtag.js) - Google Analytics