重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
直接写一个action返回json就行啊。。有什么问题吗
创新互联建站2013年至今,先为白银等服务建站,白银等地企业,进行企业商务咨询服务。为白银企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
$this-ajaxReturn($data);
然后请求这个action
因工作需要,客户端软件的一些界面用HTML+CSS+Javascript实现,这些文件放在客户端本地,以本地文件形式加载,但是有些情况下,需要连接服务器取得一些信息,如果不做任何处理,则请求失败,返回的信息如下:
No
'Access-Control-Allow-Origin'
header
is
present
on
the
requested
resource.
Origin
'null'
is
therefore
not
allowed
access.
这是因为浏览器跨域策略起作用,阻止了跨域的请求。看看HTTP请求过程就知道。第一次请求后端时候,浏览器意识到是访问一个跨与资源,没有直接发送GET请求获取数据,而是发送了一个OPTIONS请求询问是否可以访问该资源。我们称之为Preflight请求,默认因为同源策略的存在,该请求返回的Header中没有'Access-Control-Allow-Origin'属性,所以访问失败。
如果要实现跨域,关键在于服务器,客户端的代码按照正常的方式编写即可。对于服务器,只需要在收到OPTIONS请求的地方,返回的头信息中增加该属性即可,代码如下:
header("Access-Control-Allow-Origin:
*");
注意,一定要在所有信息输出到客户端之前设置。
以上所述是小编给大家介绍的PHP如何实现跨域的相关内容,希望对大家有所帮助!
之前写了一篇, 用express搭建后台模拟接口数据 。现在要使用PHP写后台接口(笔者用的时ThinkPHP),怎么用phpStudy搭建个本地服务呢。
到这里就配置好了,在浏览器中访问 就可以打开后台了。
用ajax,axios等调用后台接口时,同样会遇到接口跨域访问的问题,报错如下。
应该还要其他的方法搭建服务以及解决跨域的问题,欢迎分享你的方法。