PHP Ajax 跨域问题解决方案

简介: 本文通过设置Access-Control-Allow-Origin来实现跨域。例如:客户端的域名是client.0751.tv,而请求的域名是server.0751.tv。如果直接使用ajax访问,会有以下错误:XMLHttpRequest cannot load http://server.

本文通过设置Access-Control-Allow-Origin来实现跨域。

例如:客户端的域名是client.0751.tv,而请求的域名是server.0751.tv。

如果直接使用ajax访问,会有以下错误:

  1. XMLHttpRequest cannot load http://server.0751.tv/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://client.0751.tv' is therefore not allowed access.
复制

1、允许单个域名访问

指定某域名(http://client.0751.tv)跨域访问,则只需在http://server.0751.tv/server.php文件头部添加如下代码:

  1. header('Access-Control-Allow-Origin:http://client.0751.tv');
复制

2、允许多个域名访问

指定多个域名(http://client1.0751.tv、http://client2.0751.tv等)跨域访问,则只需在http://server.0751.tv/server.php文件头部添加如下代码:

  1. $origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
  2. $allow_origin = array(
  3. 'http://client1.0751.tv',
  4. 'http://client2.0751.tv'
  5. );
  6. if(in_array($origin, $allow_origin)){
  7. header('Access-Control-Allow-Origin:'.$origin);
  8. }
复制

3、允许所有域名访问

允许所有域名访问则只需在http://server.0751.tv/server.php文件头部添加如下代码:

 

  1. header('Access-Control-Allow-Origin:*');
复制

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
13天前
|
前端开发 JavaScript PHP
【PHP开发专栏】jQuery与PHP实现Ajax通信
【4月更文挑战第30天】本文介绍了使用jQuery和PHP实现Ajax通信的步骤。首先,讲解了Ajax的基础和jQuery简化Ajax操作的概念。接着,展示了如何使用jQuery的`$.get()`、`$.post()`和`$.ajax()`方法发送GET和POST请求,以及如何控制请求细节。在PHP端,讨论了接收和响应Ajax请求的方法,包括处理数据、设置响应类型和错误处理。结合jQuery与PHP,开发者能实现高效、无缝的异步数据传输,提升Web应用的用户体验。
|
13天前
|
XML 前端开发 JavaScript
【PHP 开发专栏】PHP 与 Ajax 交互开发
【4月更文挑战第30天】本文探讨了PHP与Ajax交互在Web开发中的应用。Ajax负责客户端的异步请求,PHP处理服务器端业务逻辑。两者结合实现高效、流畅的用户体验。文中阐述了Ajax的工作原理,PHP的角色,数据传输格式选择,并提供了发送Ajax请求、PHP处理请求的示例代码。实际应用包括实时数据更新、表单验证和动态内容加载。开发中需注意跨域、数据安全和性能优化。PHP与Ajax的结合将继续在Web开发中发挥重要作用。
|
8月前
|
前端开发 JavaScript Java
SpringBoot Ajax跨域问题(session共享问题)
ajax 发送post请求至springBoot出现跨域问题 需要在springBoot加上注解 @CrossOrigin 就能解决
41 0
|
4月前
|
前端开发 JavaScript 关系型数据库
PHP代码合集21个邮箱2个问答23个ajax特效
PHP代码合集21个邮箱2个问答23个ajax特效
18 0
|
5月前
|
前端开发 PHP 数据安全/隐私保护
【PHP学习】—利用ajax原理实现密码修改功能(九)
【PHP学习】—利用ajax原理实现密码修改功能(九)
|
5月前
|
前端开发 JavaScript PHP
【PHP学习】—利用ajax原理实现登录功能(八)
【PHP学习】—利用ajax原理实现登录功能(八)
|
9月前
|
JavaScript 前端开发 安全
vue中解决ajax跨域问题(no “access-control-allow-origin”)
产生原因 跨域是是因为浏览器的同源策略限制,是浏览器的一种安全机制,服务端之间是不存在跨域的。 所谓同源指的是两个页面具有相同的协议、主机和端口,三者有任一不相同即会产生跨域。
128 0
|
Web App开发 人工智能 前端开发
|
6月前
|
XML 前端开发 JavaScript
什么是Ajax和jquery
什么是Ajax和jquery
48 0