jQuery ,ajax,中文传值传不到的问题,第一次使用

问题描述

ajax.html,比如我把jsp中的tom改为张三,然后在ajax.html中可以输入张三,显示数据。但是显示不出,我也知道是编码的问题,但是不知道做,附件是jquery.js <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>ajax.html</title><meta http-equiv="content-type" content="text/html; charset=UTF-8"><script type="text/javascript" src="/test/js/jquery-1.4.3.js"></script><style type="text/css">body{font-size:13px}.divFrame{width:260px;border:solid 1px #666}.divFrame .divTitle{padding:5px;background-color:#eee}.divFrame .divTitle .clsShow{font-size:14px}.btn {border:#666 1px solid;padding:2px;width:80px;}</style><script type="text/javascript">$(function(){$("#Button1").click(function(){//按钮单击事件//打开文件,并通过回调函数返回嗠器响应后的数据$.post("UserInfo.jsp",{name:encodeURI($("#txtName").val()),sex:encodeURI($("#selSex").val())},function(data){$("#divTip").empty().html(data);})})})</script></head><body><div class="divFrame"><div class="divTitle">name:<input type="text" id="txtName"/> <br/>sex:<input type="text" id="selSex"/><br/><input id="Button1" type="button" class="btn" value="获取数据"/></div><div class="divContent"><div id="divTip"></div></div></div></body></html> UserInfo.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'UserInfo.jsp' starting page</title> </head> <body> <% request.setCharacterEncoding("UTF-8"); String strName=request.getParameter("name"); String strSex=request.getParameter("sex"); String strHTML="<DIV CLASS='clsShow'>";//初始化保存内容变量 if(strName.equals("tom") && strSex.equals("man")) { strHTML+="姓名:tom<br/>性别:man<br/>邮箱:abc@gmail.com<br/><hr/>"; } strHTML+="</div>"; response.setCharacterEncoding("text/html;charset=UTF-8"); response.setContentType("text/html;charset=UTF-8"); response.getWriter().print(strHTML); %> </body></html> 问题补充:<div class="quote_title">dyccsxg 写道</div><div class="quote_div">去掉 ajax.html 里面 js 中的 encodeURI, jQuery 的 post 方法本身可以处理中文问题</div><br /><br /><br />恩,非常感谢!刚买的一本jQuery书,照着做的。

解决方案

去掉 ajax.html 里面 js 中的 encodeURI, jQuery 的 post 方法本身可以处理中文问题
解决方案二:
if(strName.equals("tom") && strSex.equals("man")) { strHTML+="姓名:tom<br/>性别:man<br/>邮箱:abc@gmail.com<br/><hr/>"; } 你这个判断只有等姓名等于tom,性别等于man的时候才会打印。而当你输入张三的时候,并不符合上面的条件,所以才会没有显示数据。

时间: 2024-10-11 02:59:05

jQuery ,ajax,中文传值传不到的问题,第一次使用的相关文章

JQuery ajax中error返回错误及一直返回error的解答_AJAX相关

进入百度搜索此问题,发现有人这么说了一句 Jquery中的Ajax的async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false就可以了 于时我在ajax中进行了处理 async: false,结果发现提交正常的数据返回是正常的没有错误.  代码如下  $.ajax({ type: "POST", async: false, url:urllink, data:data, dataType:"html", su

jquery ajax中url地址的问题,不明白这个url地址该怎么写。

问题描述 jquery ajax中url地址的问题,不明白这个url地址该怎么写. 搞不清楚url是怎么访问的,不明白这个url地址该怎么写. 谁有现成的例子让我借鉴一下吗. $(function(){ $("#send").click(function(){ $.get("load_Ajax.html",{ name:$("#name").val(), content:$("#content").val() }).funct

理解jquery ajax中的datatype属性选项值_AJAX相关

jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理. 一.ajax语法 复制代码 代码如下: jQuery.ajax([settings]) 参数说明 settings:用于配置 Ajax 请求的键值对集合.可以通过 $.ajaxSetup() 设置任何选项的默认值. 二.ajax的datatype选项的值 1."xml":返回

理解jquery ajax中的datatype属性选项值

jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理. 一.ajax语法 复制代码 代码如下: jQuery.ajax([settings]) 参数说明 settings:用于配置 Ajax 请求的键值对集合.可以通过 $.ajaxSetup() 设置任何选项的默认值. 二.ajax的datatype选项的值 1."xml":返回

JQuery ajax中error返回错误及一直返回error的解答

进入百度搜索此问题,发现有人这么说了一句 Jquery中的Ajax的async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false就可以了 于时我在ajax中进行了处理 async: false,结果发现提交正常的数据返回是正常的没有错误. 代码如下 $.ajax({ type: "POST", async: false, url:urllink, data:data, dataType:"html", succ

jquery ajax中使用jsonp的限制

jsonp 解决的是跨域 ajax 调用的问题.为什么要跨域 ajax 调用呢?这样可以在一个应用中直接在前端通过 js 调用另外一个应用(在不同的域名下)的 API. 我们在实际应用中也用到了 jsonp ,但之前只知道 jsonp 的一个限制,只能发 get 请求,get 请求的弊端是请求长度有限制. 今天,发现 jsonp 的另外一个限制(在jquery ajax的场景下) -- 不会触发 $.ajax 的error callback,示例代码如下: $.ajax({ dataType:

jquery ajax中error返回错误

  进入百度搜索此问题,发现有人这么说了一句 Jquery中的Ajax的async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false就可以了 于时我在ajax中进行了处理 async: false,结果发现提交正常的数据返回是正常的没有错误.  代码如下   $.ajax({ type: "POST", async: false, url:urllink,  data:data, dataType:"html"

jquery ajax中使用jsonp的限制解决方法_jquery

jsonp 解决的是跨域 ajax 调用的问题.为什么要跨域 ajax 调用呢?这样可以在一个应用中直接在前端通过 js 调用另外一个应用(在不同的域名下)的 API.我们在实际应用中也用到了 jsonp ,但之前只知道 jsonp 的一个限制,只能发 get 请求,get 请求的弊端是请求长度有限制.今天,发现 jsonp 的另外一个限制(在jquery ajax的场景下) -- 不会触发 $.ajax 的error callback,示例代码如下: 复制代码 代码如下: $.ajax({  

谈谈Jquery ajax中success和complete有哪些不同点_jquery

废话不多说了,先给大家贴一段代码看看吧, $.ajax({ type: "post", url: url, dataType:'html', success: function(data) { }, complete: function(XMLHttpRequest, textStatus) { }, error: function(){} }); success : 当请求成功时调用的函数.这个函数会得到一个参数:从服务器返回的数据.当请求成功时调用函数,即status==200.