2016-12-05 123 views
0

codeigniter從JSON控制器url返回null!codeigniter從JSON控制器url返回null

這是我的JSON文件控制器:

function data() 
{ 


    $var1 = array(
    'key_name1' => 'value_name1', 
    'key_name2' => 'value_name2' 
    ); 


    header('Content-Type: application/json'); 
    $encode_data = json_encode($var1); 
    echo $encode_data; 


} 

,這是結果控制器:

​​
+1

我試圖瀏覽您的網址,http://tickets.eritreaevents.com/agent/data和而不是獲取JSON數據,我被重定向到登錄頁面。也許這就是你的file_get_contents調用發生的情況。嘗試print_r file_get_contents的結果(在修剪和json_decode之前)。 – BareNakedCoder

回答

0

更新您的test方法這樣

function test() 
{ 
    // $url = 'http://tickets.eritreaevents.com/agent/data'; 
    $url = 'https://api.coursera.org/api/courses.v1?q=search&query=english&fields=photoUrl,description&limit=20'; 
    $content = file_get_contents($url); 
    $decode_data = json_decode($content, true); 

    echo "<pre>"; 
    print_r($decode_data); 
    echo "</pre>"; 
} 

Sample JSON Url

+0

同樣的結果,沒有任何改變.. –

+0

我認爲url鏈接是沒有任何json數據。 出於測試目的,您可以嘗試用'$ url ='https://api.coursera.org/api/courses.v1?q = search&query = english&fields = photoUrl,description&limit = 20';'替換網址,然後查看是否你會得到任何數據或迴應。 –

+0

如果你在瀏覽器中打開該鏈接,你應該看到json數據。 –

0

也許你在授權方面有問題。您確定,應用程序已登錄。 與BareNakedCoder相同我被重定向到登錄頁面。那麼也許還有其他的認證方式,例如基本的認證或API令​​牌? 但是,如果你收到任何數據,請

print_r($file_get_contents('http://tickets.eritreaevents.com/agent/data')); 

表現出來或使用捲曲:

$s = curl_init(); 

curl_setopt($s,CURLOPT_URL, 'http://tickets...'); 
curl_setopt($s,CURLOPT_RETURNTRANSFER,true); 
// curl_setopt($s, CURLOPT_USERPWD, $user.':'.$pass); // Basic Auth 
$data = curl_exec($s); 
print_r($data); 
curl_close($s);