Ajax响应不会返回数据

问题描述 投票:-1回答:1

我找不到为什么我的ajax不会返回任何数据。如果我使用print_r($ data),我的结果会显示但是如果我刚刚返回$ data它将不会显示结果,我的代码如下。 (我使用codeigniter)

$.ajax({   
            method :'GET',
            url:baseUrl+'page/getToken/'+getUrlParameter('code'),
          dataType: 'json',
            success:function(data){
                alert(data); 
            },
            complete: function(){

            },
            error:function (xhr, ajaxOptions, thrownError){alert(thrownError);}
            });

页面控制器

public function getToken($CODE)
{
    return $this->EnvatoOperationsHandler->get_envato_token($CODE);
}

模型EnvatoOperationsHandler

function get_envato_token($code) {

    $api_url = 'https://api.envato.com/';
    $EnvatoSettings['envatoapi']=$this->get_data();
    $client_id = $EnvatoSettings['envatoapi'][0]['e_clientID'];
    $client_secrets_envo = $EnvatoSettings['envatoapi'][0]['e_clientSecret'];


    $redirect_uri='http://localhost/verify/settings';
    $client_secret=$client_secrets_envo;
    //private $access_token;
    //private $personal_token;

    $url = $api_url.'token';
    $params = array(
        'grant_type'    => 'authorization_code',
        'code'          => $code,
        'redirect_uri'  => $redirect_uri,
        'client_id'     => $client_id,
        'client_secret' => $client_secret,
    );
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_VERBOSE, false);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
    $result = curl_exec($curl);
    curl_close($curl);
    $data = json_decode($result, true);
    //print_r($data);
    exit(json_encode($data));
}
php ajax codeigniter-3
1个回答
-1
投票

豆的回答是正确的。所以我根据他的回答修改了上面的代码并且它有效。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.