博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CORS实现跨域资源访问
阅读量:5236 次
发布时间:2019-06-14

本文共 1450 字,大约阅读时间需要 4 分钟。

跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。

CORS的使用非常简单方便,只需要在服务端的响应头信息中设置Access-Control-Allow-Origin,如果浏览器检测到相应的设置,就可以允许Ajax跨域访问资源。

相对于JSONP的方式来实现跨域访问,CORS有如下的优点:

  1. JSONP只能实现GET请求,而CORS能够支持所有类型的HTTP请求。
  2. CORS允许开发者使用普通的Ajax请求来获取数据,比起JSONP有更好的错误处理,也更加的方便。

目前绝大多数浏览器都已经支持CORS了。其浏览器兼容情况如下:

具体实现如下:

服务端代码,一个简单的servlet,映射路径为http://192.168.30.150:8080/Scotch/register,具体如下:

1 @Override 2 protected void doGet(HttpServletRequest req, HttpServletResponse resp) 3         throws ServletException, IOException { 4     resp.setHeader("Access-Control-Allow-Origin", "http://localhost:8080"); 5     String name = req.getParameter("name"); 6     JSONObject errors = new JSONObject(); 7     JSONObject data = new JSONObject(); 8     if (name ==null || name.isEmpty()) { 9         errors.put("name", "Name is required.");10     }11         12     if (errors.length() != 0) {13         data.put("success", false);14         data.put("errors", errors);15     }else {16         data.put("success", true);17         data.put("message", "Success!");18     }19         20     PrintWriter out = resp.getWriter();21     out.print(data);22     out.close();23 }

客户端代码:

1 $.ajax({ 2     url: "http://192.168.30.150:8080/Scotch/register", 3     type: "POST", 4     dataType: "json", 5     data: { 6         name: "clumiere" 7     } 8 }).then(function(response){ 9     console.info(response);10 });

本地访问客户端页面,响应结果如下:

 

 

转载于:https://www.cnblogs.com/clumiere/p/4745314.html

你可能感兴趣的文章
一、使用pip安装Python包
查看>>
spring与quartz整合
查看>>
Kattis之旅——Eight Queens
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
Android控件之GridView探究
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
snmpwalk命令常用方法总结
查看>>
网站产品设计
查看>>
如何修改被编译后DLL文件 (转发)
查看>>
C++按格式接收输入字符(京东,滴滴,360笔试必用)
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java 中的一些运算符问题
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>