ajax post跨域解决方案

概述

  • CORS能作什么:程序员

     正常使用AJAX会须要正常考虑跨域问题,因此伟大的程序员们又折腾出了一系列跨域问题的解决方案,如JSONP、flash、ifame、xhr2等等。跨域

     本文介绍的CORS就是一套AJAX跨域问题的解决方案。浏览器

 

  •  CORS的原理:服务器

     CORS定义一种跨域访问的机制,可让AJAX实现跨域访问。CORS 容许一个域上的网络应用向另外一个域提交跨域 AJAX 请求。实现此功能很是简单,只需由服务器发送一个响应标头便可。网络

 

  • CORS浏览器支持状况以下图:工具

CORS启航

 

  假设咱们页面或者应用已在 http://www.test1.com 上了,而咱们打算从 http://www.test2.com 请求提取数据。通常状况下,若是咱们直接使用 AJAX 来请求将会失败,浏览器也会返回“源不匹配”的错误,"跨域"也就以此由来。测试

  利用 CORS,http://www.test2.com 只需添加一个标头,就能够容许来自 http://www.test1.com 的请求,下图是我在PHP中的 hander() 设置,“*”号表示容许任何域向咱们的服务端提交请求spa

     

  也能够设置指定的域名,如域名 http://www.test2.com ,那么就容许来自这个域名的请求调试

     

     

  当前我设置的header为“*”,任意一个请求过来以后服务端咱们均可以进行处理&响应,那么在调试工具中能够看到其头信息设置,其中见红框中有一项信息是“Access-Control-Allow-Origin:* ”,表示咱们已经启用CORS,以下图。server

  PS:因为demo都在我厂的两台测试机间完成,外网也不能访问,因此在这就不提供demo了,见谅

     

   简单的一个header设置,一个支持跨域&POST请求的server就完成了:)

 

  固然,若是没有开启CORS一定失败的啦,以下图:

  

相关文章
相关标签/搜索