js ajax初次跨域请求

最近有个页面,要请求第三方的一个api,

postman里测试返回结果正常,状态正常

可在php js前端请求,返回错误,取不到任何有用信息,status = 0.

没接触过跨域,一直以为第三方接口问题,

后来知道还有跨域这一说法,就是http请求其他主机地址,浏览器是不允许的,会返回错误

解决:

在后端页面用php转发前端的请求,并加入跨域的标志

复制代码
public function send_RegisterPost() {
	  $url = 'http://www.baidu.com/text2audio';

	  $json =  $this->input->post('json');


	  $postdata = http_build_query($json);
	  $options = array(
		'http' => array(
		  'method' => 'POST',
		  'header' => 'Content-type:application/json',
		  'content' => $json,
		  'timeout' => 15 * 60 // 超时时间(单位:s)
		)
	  );
	  $context = stream_context_create($options);
	  $result = file_get_contents($url, false, $context);
	  $this->output->set_header("Access-Control-Allow-Origin: * ");
	  $data['dbData'] = $result;
	  out::code(10000,$data,"获取成功");
	  
	}

虽然前端ajax 还是在 error中,但status =200 statusText 是我需要的内容

相关推荐
前端不开发1 天前
在任意网页里“召唤”一个火柴人:一次有趣的 JavaScript Hack
前端·javascript
maplewen.1 天前
C++11 返回值优化
开发语言·c++·面试
我命由我123451 天前
Android Studio - 在 Android Studio 中直观查看 Git 代码的更改
android·java·开发语言·git·java-ee·android studio·android jetpack
hewence11 天前
Kotlin协程启动方式详解
android·开发语言·kotlin
gihigo19981 天前
MATLAB运动估计基本算法详解
开发语言·算法·matlab
郝学胜-神的一滴1 天前
TCP通讯的艺术:从握手到挥手的优雅对话
开发语言·网络·网络协议·tcp/ip·程序人生
黎雁·泠崖1 天前
【魔法森林冒险】12/14 场景系统:5大场景的任务串联
java·开发语言
l1t1 天前
在python 3.14 容器中安装和使用chdb包
开发语言·python·clickhouse·chdb
梵刹古音1 天前
【C++】函数重写
开发语言·c++
民国二十三画生1 天前
C++(兼容 C 语言) 的标准输入语法,用来读取一行文本
c语言·开发语言·c++