jQuery调用AJAX时Get和post公用的乱码解决方法实例说明_jquery
以前在新浪博客写过js调用AJAX时Get和post的乱码解决办法,但是使用js代码比较繁琐,我们在使用ajax进行数据交互时可以使用js的一个成熟框架---jQuery。
一个网站的设计,不管是注册登录还是分页查找,都需要提交参数到服务器以便得到所需的页面数据。为了减少用户因刷新页面带来的煎熬,ajax诞生。但是初学者进行项目开发时,会遇到一个很烦人的问题:中文乱码。
下面我就通过一个简单的实例来告诉大家哪些地方可能会导致乱码,我们需要通过什么方式来解决。
我们这个实例主要实现用户注册时用户名是否正确(已存在),在焦点移开username文本text时,对username进行异步提交并由servlet进行提取判断,并将结果返回页面做出相应提示。
第一步,新建一个web工程(默认GBK格式),取名jQuery_Ajax。在其WebRoot目录下新建js文件包,将jquery-1.4.4.js放于其中。
第二步,在src下创建servlet包,并编写Vali.java
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public class Vali extends HttpServlet {
@Override
protectedvoid service(HttpServletRequest request, HttpServletResponse response)
throwsServletException, IOException {
StringuserName = URLDecoder.decode(request.getParameter("userName"),"utf-8");
System.out.println(userName);
response.setContentType("text/html;charset=utf-8");
PrintWriter pw =response.getWriter();
if(userName.equals("张三")){
pw.println("错误");
}else{
pw.println("正确");
}
}
}
从可从代码看出,含有编码格式的语句便是解决乱码的办法之一。
在代码中注意:
1.URLDecoder.decode(request.getParameter("userName"),"utf-8")——将页面传来的数据进行格式转换并提取
2.response.setContentType("text/html;charset=utf-8")——将响应返回值进行utf-8编码后返回页面
3.特别注意2中的转换需写在本方法内一切的response之前,否则可能失效
4.本servlet对数据的格式编码只适合Post方法,若提交方式为GET则提取页面数据的代码如下:
request.setCharacterEncoding("utf-8");
StringuserName = request.getParameter("userName");
userName= new String(userName.getBytes("iso-8859-1"),"utf-8");
第三步,编写简单注册页面ajax.jsp
String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
function vali(){
$.ajax({
type:"POST",
url:"/jQuery_Ajax/Vali",
data:encodeURI(encodeURI("userName="+$(":text").val())),
success:function(data){
$("span").text(data);
}
});
}
用户名:
密码:
在代码中注意:
1.页面要设置为utf-8,且引入jquery-1.4.4.js
2.ajax通过POST方法传递数据,注意data的设置。将返回数据填入span标签。
如果使用GET方法传递页面数据,js代码如下:
function vali(){
$.ajax({
type:"GET",
url:"/jQuery_Ajax/Vali",
data:encodeURI("userName="+$(":text").val()),
success:function(data){
$("span").text(data);
}
});
}
最后一步,在web.xml配置servlet和映射
经过以上代码的编写,本注册验证的项目已完成,将其部署至tomcat并通过网页访问。
最后总结大神的jQuery乱码问题解决方法:
1. 检查页面编码,将页面编码设置为utf8,如下:
2. 检查servlet,在doPost或doGet方法中添加如下代码:
response.setContentType("text/xml;charset=utf-8");
3. 修改tomcat文件,在TOMCAT_HOME/conf/server.xml文件中增加URIEncoding=”utf8”:
4. 在工程中新增过滤器,将编码方式设置为utf8
经过以上四步操作后,问题依旧。
5. 检查ie的http header,查看contentType字段,如下:
contentType:"application/x-www-form-urlencoded"
6.检查firefox的http header,查看contentType字段,如下:
contentType:"application/x-www-form-urlencoded;charset=UTF-8"
对比5,6两步,问题出现。
7.修改jQuery-1.x.x.js文件,将
contentType:"application/x-www-form-urlencoded"改为下面的代码
contentType:"application/x-www-form-urlencoded;charset=UTF-8"

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Masalah bercelaru Cina Linux adalah masalah biasa apabila menggunakan set aksara Cina dan pengekodan. Watak bercelaru mungkin disebabkan oleh tetapan pengekodan fail yang salah, tempat sistem tidak dipasang atau ditetapkan, dan ralat konfigurasi paparan terminal, dsb. Artikel ini akan memperkenalkan beberapa penyelesaian biasa dan memberikan contoh kod khusus. 1. Periksa tetapan pengekodan fail Gunakan arahan fail untuk melihat pengekodan fail Gunakan perintah fail dalam terminal untuk melihat pengekodan fail: nama fail-fail jika terdapat "charset".

Tajuk: Kaedah dan contoh kod untuk menyelesaikan ralat 403 dalam permintaan AJAX jQuery Ralat 403 merujuk kepada permintaan bahawa pelayan melarang akses kepada sumber Ralat ini biasanya berlaku kerana permintaan itu tidak mempunyai kebenaran atau ditolak oleh pelayan. Apabila membuat permintaan jQueryAJAX, anda kadangkala menghadapi situasi ini Artikel ini akan memperkenalkan cara menyelesaikan masalah ini dan memberikan contoh kod. Penyelesaian: Semak kebenaran: Mula-mula pastikan alamat URL yang diminta adalah betul dan sahkan bahawa anda mempunyai kebenaran yang mencukupi untuk mengakses sumber tersebut.

Petua untuk menangani nama fail Cina yang kacau-bilau dalam PHP Semasa proses pembangunan, kami sering menghadapi masalah nama fail Cina yang kacau-bilau, terutamanya semasa memproses fail yang dimuat naik oleh pengguna. Dalam PHP, cara mengendalikan nama fail yang bercelaru dengan betul adalah masalah biasa dan penting. Artikel ini akan memperkenalkan beberapa teknik untuk menangani nama fail Cina yang bercelaru dan memberikan contoh kod khusus untuk membantu pembaca menangani cabaran ini dengan lebih baik. Penerangan masalah: Apabila pengguna memuat naik fail, nama fail Cina kadangkala kelihatan bercelaru. Ini kerana sistem pengendalian dan pelayar yang berbeza

Jika anda seorang pentadbir IT atau pakar teknologi, anda mesti sedar tentang kepentingan automasi. Khusus untuk pengguna Windows, Microsoft PowerShell ialah salah satu alat automasi terbaik. Microsoft menawarkan pelbagai alat untuk keperluan automasi anda, tanpa perlu memasang aplikasi pihak ketiga. Panduan ini akan memperincikan cara memanfaatkan PowerShell untuk mengautomasikan tugas. Apakah skrip PowerShell? Jika anda mempunyai pengalaman menggunakan PowerShell, anda mungkin telah menggunakan arahan untuk mengkonfigurasi sistem pengendalian anda. Skrip ialah koleksi arahan ini dalam fail .ps1. Fail .ps1 mengandungi skrip yang dilaksanakan oleh PowerShell, seperti Get-Help asas

Ramai pengguna mendapati bahawa perisian peribadi mereka bercelaru selepas menaik taraf sistem win11 Jadi bagaimana untuk menyelesaikan masalah ini? Sekarang biarkan editor dengan teliti memperkenalkan kepada pengguna analisis masalah kod bercelaru dalam beberapa perisian dalam win11. Analisis aksara bercelaru dalam beberapa perisian dalam win11 1. Klik kotak carian dalam bar tugas di sudut kiri bawah dan masukkan panel kawalan untuk membukanya. 3. Klik pada kawasan tersebut. 5. Kemudian nyahtanda kotak kecil untuk versi beta dalam tetingkap, dan akhirnya mulakan semula komputer untuk menyelesaikan masalah.

Tajuk: Kaedah dan contoh kod untuk menyelesaikan masalah aksara bercelaru apabila mengimport data Cina ke dalam Oracle Apabila mengimport data Cina ke pangkalan data Oracle, aksara bercelaru sering muncul Ini mungkin disebabkan oleh tetapan set aksara pangkalan data atau masalah penukaran pengekodan semasa import proses. . Untuk menyelesaikan masalah ini, kami boleh mengambil beberapa kaedah untuk memastikan data Cina yang diimport dapat dipaparkan dengan betul. Berikut ialah beberapa penyelesaian dan contoh kod khusus: 1. Semak tetapan set aksara pangkalan data Dalam pangkalan data Oracle, tetapan set aksara adalah

jQuery ialah perpustakaan JavaScript popular yang digunakan untuk memudahkan pembangunan sisi klien. AJAX ialah teknologi yang menghantar permintaan tak segerak dan berinteraksi dengan pelayan tanpa memuatkan semula keseluruhan halaman web. Walau bagaimanapun, apabila menggunakan jQuery untuk membuat permintaan AJAX, anda kadangkala menghadapi 403 ralat. Ralat 403 biasanya ralat akses yang dinafikan pelayan, mungkin disebabkan oleh dasar keselamatan atau isu kebenaran. Dalam artikel ini, kami akan membincangkan cara menyelesaikan permintaan jQueryAJAX yang menghadapi ralat 403

Win11 ialah sistem pengendalian terbaharu Microsoft, tetapi sesetengah pengguna mungkin menghadapi masalah memaparkan aksara bercelaru semasa boot, yang akan menjejaskan penggunaan biasa sistem Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan masalah ini. Kaedah 1: 1. Tekan kombinasi kekunci [Win+S], atau klik [Ikon Carian] di sebelah ikon mula pada bar tugas Dalam carian Windows yang dibuka, masukkan [Panel Kawalan] dalam kotak carian, dan kemudian klik [Buka]. Aplikasi panel kawalan padanan terbaik; tab Pengurusan], dan kemudian klik [Tukar] Tetapan Serantau Sistem] 4. [Nyahtanda] Versi Beta: Gunakan Unicode
