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的表达式即可;

转载于:https://www.cnblogs.com/J-Joyce/p/9195837.html

Ajax跨域请求以及乱码解决相关推荐

  1. thinkphp ajax 跨域请求 Access-Control-Allow-Origin 完美解决

    在前后端分离的开发中,前端经常遇到请求接口跨域的问题 遇到这种问题,解决方法有两种: 方法一.用jsonp的格式返回数据给前端,而不是json,这个方法治标不治本,需要注意的是,使用jsonp的时候, ...

  2. 用iframe设置代理解决ajax跨域请求问题

    用iframe设置代理解决ajax跨域请求问题 参考文章: (1)用iframe设置代理解决ajax跨域请求问题 (2)https://www.cnblogs.com/ranzige/p/370965 ...

  3. 本地主机作服务器解决AJAX跨域请求访问数据的方法

    本地主机作服务器解决AJAX跨域请求访问数据的方法 参考文章: (1)本地主机作服务器解决AJAX跨域请求访问数据的方法 (2)https://www.cnblogs.com/QiScript/p/5 ...

  4. 第114天:Ajax跨域请求解决方法(二)

    一.什么是跨域 我们先回顾一下域名地址的组成: http:// www . google : 8080 / script/jquery.js   http:// (协议号)       www  (子 ...

  5. ajax请求时拒绝访问,ajax跨域请求js拒绝访问的解决方法

    ajax跨域请求js拒绝访问的解决方法 内容精选 换一换 可能原因kubelet服务没有运行或运行异常.kubelet服务没有运行或运行异常.解决方法可以通过systemctl status kube ...

  6. jQuery ajax跨域请求的解决方法

    jQuery ajax跨域请求的解决方法 参考文章: (1)jQuery ajax跨域请求的解决方法 (2)https://www.cnblogs.com/freeweb/p/4908832.html ...

  7. ajax error parsererror,完美解决ajax跨域请求下parsererror的错误

    AJAX 的 完美解决ajax跨域请求下parsererror的错误 ajax请求报parsererror错误是很宽泛的概念,很多情况下都报这个错, 在很多时候,即使ajax提交.返回都正常 XMLH ...

  8. js请求结果拦截机器_js利用jquery的jsonp来解决ajax跨域请求被浏览器拦截结果的问题...

    先来个表.页面太多对不起我也不知道这张表是从哪个博客保存过来的,所以无法注明博客地址.非常抱歉.URL说明是否允许通信 http://www.a.com/a.jshttp://www.a.com/b. ...

  9. AJAX跨域请求数据原理与案例

    1.如何通过AJAX跨域请求数据 AJAX通过jsonp来实现跨域请求数据,通过设置dataType(jquery)为jsonp即可. 2.AJAX如何通过jsonp实现跨域(来源于其他网站资料) J ...

最新文章

  1. 位域 内存 字节序_JS操作内存?二进制数组了解一下
  2. playframework学习笔记1 -- 开发环境和第一个工程
  3. nyist---组队赛(三)
  4. Tomcat多实例和负载均衡
  5. 状态很差时,就不要再继续做了。因为是徒劳,再就是过段时间或第二天再看,会豁然开朗,原来存在的疑难问题都迎刃而解。平时没事的时候要不断地给自己充电,让自己了解多方面知识。...
  6. RAM, SRAM, SDRAM工作原理
  7. VBA各种查询方法介绍和应用举例
  8. oracle迁移至gaussdb,GaussDB for DWS 数据融合系列第九期:Oracle数据迁移到GaussDB(DWS)...
  9. vue监听用户点击区域
  10. 中科院发布“木兰”处理意见;互联网公司合力应对新型肺炎;PHP 7.4.2 发布| 极客头条...
  11. java日期加一天_Java 关于日期加一天(日期往后多一天)
  12. mysql查询当前时间和用户_MySQL学习笔记(3) - 查询服务器版本,当前时间,当前用户...
  13. c#值类型,引用练习,ref,out
  14. Caffe 的深度学习训练全过程
  15. 易班学生安全上报系统脚本
  16. sencha app watch php,Sencha Cmd使用指南
  17. 电脑右下角搜狗拼音输入法图标如何隐藏
  18. 超市管理系统-1(JavaSwing和Oracle数据库)
  19. VMD/NAMD命令/规则
  20. 雷蛇计算机配置似乎是正确的,配置保存需技巧 玩转雷蛇驱动

热门文章

  1. CVPR系列(二)—— 双图层实例分割,大幅提升遮挡处理性能
  2. 小白学深度之RNN循环神经网络
  3. php mysql 单例模式_PHP基于单例模式实现的mysql类
  4. 人受失败后多久可以做第二次_做完皮秒多久可以用自己的护肤产品、过来人分享皮秒后怎么护肤?...
  5. 有没有比python更简单的语言排名_5月语言排行榜:R跌出前二十 Python紧咬C++
  6. ApI、toString方法、equals方法、Scanner方法基本知识
  7. BootstrapTable分页(一)
  8. 小汤学编程之JavaEE学习day02——Servlet使用步骤、生命周期、接收与返回数据、GET与POST、转发与重定向
  9. Docker版本介绍(5)
  10. 【bzoj3119】Book