好吧,作为一个前端程序猿,想要真实的从后端获取数据,硬着头皮学了一天多的PHP,终于把从第三方获取的PHP接口修改成了可以供前端使用的代码,嗯,中间踩了多少坑,就不说了,总之,分享出来,如果你们也和我一样,还在学习阶段,又想要获取真实的PHP数据,希望能帮到您(个人觉得,一个会了,其他的都类似)
如果想要详细学习怎样将第三方获取的PHP接口修改后供前端使用,这里推荐一个我在腾讯课堂上找到的视频(老师讲的很好,就是有一些不知道什么原因效果出不来还报错,可能需要修改一些代码)我下面的是效果已经出来了
https://ke.qq.com/course/298281#term_id=100353517
js代码:
$(function(){ $('#btn').click(function(){ var phone = $('#tex').val(); // console.log(phone) $.post('news1.php',{phone:phone},function(res){ console.log(res); },'json'); }) });js代码根据个人需要修改哈
PHP代码:
<?php header('Content-type:text/html; charset="utf-8"'); $_POST['phone'] = isset($_POST['phone']) ?$_POST['phone']:''; $phone = $_POST['phone']; $host = "https://api04.aliyun.venuscn.com"; $path = "/mobile"; $method = "GET"; $appcode = "1c97d9e8fe17410987052c6ced218189"; $headers = array(); array_push($headers, "Authorization:APPCODE " . $appcode); $querys = "mobile=" . $phone; $bodys = ""; $url = $host . $path . "?" . $querys; $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); if (1 == strpos("$".$host, "https://")) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } $content = curl_exec($curl); $header_size = curl_getinfo($curl,CURLINFO_HEADER_SIZE); $bodys = substr($content,$header_size); $res = json_decode($bodys,true); // echo '<pre>'; // print_r($res); if($res['ret']==200){ //说明查询成功 $data = array( 'status'=>1,'msg'=>'查询成功', 'data'=>array( 'types'=>$res['data']['types'], 'area'=>$res['data']['prov'].'/'.$res['data']['city'], 'zip_code'=>$res['data']['zip_code'], 'city_code'=>$res['data']['city_code'], ), ); // echo '<pre>'; // print_r($data); }else{ $data = array( 'status'=>0, 'msg'=>$res['msg'], 'data'=>'', ); } echo json_encode($data); ?>