ajax获取不到php方法里curl请求的数据。直接通过url地址访问可以获取数据。

通过url直接访问php方法里一个跨域请求可以得到数据,但是用ajax请求返回的结果为空。

php 代码

    $host = "xxx.xxxx.cn/Home/Index/index"; 
    // $header[] = "Content-type: text/xml;charset=UTF-8";
    // $ch = curl_init();
    $ch = curl_init($host); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($host));    //参数
    curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_TIMEOUT,5);
    $arra = curl_exec($ch);
    curl_close($ch);
    $arra = json_decode($arra,true);
    foreach ($recommend as $value) {    
        foreach ($arra as $v) {
            if ($value['id'] == $v['shop_id']) {
                $rmd[]=array_merge_recursive($value,$v);
            }
        }
    }
    if (count($rmd) < count($recommend)) {
        $diff = array_diff_key($recommend,$rmd);
        foreach ($diff as $val) {
            $pageview['pageview'] = 0;
            $aa[] = array_merge_recursive($value,$pageview);
        }
    }
    $recommends =array_merge_recursive($aa,$rmd);
    // var_dump($recommends);   
    return $this->ajaxReturn($recommends , 1, 1);

ajax
$.ajax({

            type: "POST",
            dataType: "json",
            url: "{:U('Shop/Site/GetRecommend')}",
            data: null,
            success: function(result) {
            //这里得到的结果为空
                console.log(result) 
        });

被折磨一天了,完全不清楚是什么原因。

慕少森
浏览 1152回答 5
5回答

慕仙森

打開瀏覽器開發者工具看下ajax的網絡請求跟返回值不就知道啥情況了。

三国纷争

看看你的ajaxReturn方法

精慕HU

查看一下 服务端对 url 的支持是哪种类型的, 看你的意思, 直接访问url是可以的, get 和 post 了解一下.

湖上湖

可能是数据类型不对,返回到ajax 错误信息里面去了。 error:function(){} 看看
打开App,查看更多内容
随时随地看视频慕课网APP