php做个微信支付接口,前端ajax调用该接口跨域问题

qq_28819273 2016-09-23 11:48:19
我有一个问题请教一下,我现在做微信支付,用php做了一个微信支付统一下单的接口返回所需的参数,测试该接口可以成功获取数据,前端ajax调用这个接口却提示(如图所示)跨域问题,已困扰多天,有没有大神帮解决一下
...全文
1481 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crying_cat 2017-09-18
  • 打赏
  • 举报
回复
同源问题把,放到服务器上运行
业余草 2017-09-08
  • 打赏
  • 举报
回复
很不错,可以结贴了!
花下泥 2017-09-06
  • 打赏
  • 举报
回复
后台通过一些配置使前端可以跨域访问就行了

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

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

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

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

1、允许单个域名访问

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

header('Access-Control-Allow-Origin:http://client.runoob.com');
2、允许多个域名访问

指定多个域名(http://client1.runoob.com、http://client2.runoob.com等)跨域访问,则只需在http://server.runoob.com/server.php文件头部添加如下代码:
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  
  
$allow_origin = array(  
    'http://client1.runoob.com',  
    'http://client2.runoob.com'  
);  
  
if(in_array($origin, $allow_origin)){  
    header('Access-Control-Allow-Origin:'.$origin);       
}
3、允许所有域名访问

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

header('Access-Control-Allow-Origin:*');

qq_33846899 2017-09-05
  • 打赏
  • 举报
回复
楼主怎么解决的,求分享
业余草 2016-09-26
  • 打赏
  • 举报
回复
通过jsonp跨域 www.xttblog.com
qq_28819273 2016-09-26
  • 打赏
  • 举报
回复
引用 2 楼 KK3K2005 的回复:
你自己的接口 为什么是 open.weixin.qq.com的域名呢 微信auth2.0接口能用ajax?
我自己的接口要调用open.weixin.qq.com的微信官方接口才可以获取到微信支付jssdk需要的参数啊
KK3K2005 2016-09-23
  • 打赏
  • 举报
回复
你自己的接口 为什么是 open.weixin.qq.com的域名呢 微信auth2.0接口能用ajax?
slwsss 2016-09-23
  • 打赏
  • 举报
回复
跨域问题做代理

39,085

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧