分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Ajax跨域请求以及乱码解决

发布时间:2023-09-06 02:00责任编辑:苏小强关键词:乱码Ajax跨域

  Ajax跨域请求2种解决方法

 1 ) 什么叫跨域请求,协议,域名,端口号,其中一样不同都称跨域;

第一种:使用script标签发送请求;

//创建一个script标签;

var v_element=document.createElement("script");

//设置script的type 属性;

v_element.type="text/javascript";

//设置src属性;

v_element.src="http://127.0.0.1:8080/包名/login.do?"+v_data;  //v_data参数;

//把script扔到head标签里面去,给head增加一个孩子;

document.getElementsByTagName("HEAD")[0].appendChild(v_element);

这样怎么调用回调?

在data.jsp上调用回调方法即可

callBack("${data}")

因为使用El表达式,所以必须加双引号;

第二种:在servlet里把头文信息设置,添加下面两行代码就可以了

response.setHeader("Access-Control-Allow-Origin", "*");  //允许所有跨域

response.setHeader("Access-Control-Allow-Methods", "POST,GET");    //post&get两种都允许

 2 ) 什么叫乱码?   --分为两种--

请求数据乱码

尽可能使用post请求避免乱码,后台使用request.setCharacterEncoding("UTF-8")设置请求对象编码

如果非要使用get请求,可以在js页面,将事先需要传递的数据转换成UTF-8格式,后台就可以直接获取了

例:“login.do?”+encodeURI(数据)

响应数据乱码

如果要通过servlet返回响应,servlet需要设置

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

通常不推荐这种方式返回信息,推荐用jsp作为响应的页面,这个页面只需要拥有一个El的表达式即可;

Ajax跨域请求以及乱码解决

原文地址:https://www.cnblogs.com/J-Joyce/p/9195837.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved