2014-07-24 68 views
0

如果PHP中的輸出被複制並粘貼JSON,則該AJAX請求返回'success',但如果文件生成則返回'fail'。看看下面api.php中的評論,看看我的意思。AJAX請求接受硬編碼的JSON,但沒有軟編碼

$.ajax({ 
    url: 'api.php', 
    dataType: 'JSON', 
    success: function() { 
     alert('success'); 
    }, 
    error: function() { 
     alert('fail'); 
    } 
}); 

api.php:

<?php 
header('Access-Control-Allow-Origin: *'); 

$jsonurl = "http://findyourmp.parliament.uk/api/search?q=st+pancras&f=js"; 
$json = file_get_contents($jsonurl); 

// THIS DOESN'T WORK (RETURNS 'FAIL') 
print_r($json); 
?> 

<!-- THIS WORKS (RETURNS 'SUCCESS') --> 
{"results": { "constituencies": [{"constituency_name": "Holborn and St Pancras", "member_name": "Frank Dobson", "member_party": "Labour", "member_biography_url": "http://www.parliament.uk/biographies/commons/Frank-Dobson/180", "member_website": "", "uri": "http://findyourmp.parliament.uk/constituencies/holborn-and-st-pancras.json" } ], "members": [] }} 
+0

@JonathonReinhart砰的一聲,寫下來,我會接受。 – Sebastian

+0

我懷疑你沒有真正看到PHP腳本生成的輸出;-) –

回答

2

我想你想

echo $json; 

print_r($json); 

$json是一個字符串,所以你只是想打印出來,這是什麼echo呢。

print_r在另一方面:

打印人類可讀的故事的一個變量

道德的信息:看看你的PHP腳本的輸出。測試並驗證每件工作,而不是試圖測試整個系統。