我試圖使用PHP從API抓取XML。到目前爲止,我已經看過以下blog post和this previous stackoverflow後,但我沒有成功。
xml數據是通過查看網頁的源可用here。
從我的理解php的json_encode
返回的json數據作爲字符串前置string(length)
。
我希望做的是加載使用jQuery的$.ajax
編碼的JSON數據用JavaScript來操縱數據。但是,從json_encode
返回的數據與$.ajax
不兼容。
誰會有怎樣的字符串格式,使數據可以通過AJAX讀什麼建議?
更新,我的代碼的PHP代碼是在這裏:
<?php
$url = file_get_contents("http://api.wefeelfine.org:8080/ShowFeelings?display=xml&returnfields=sentence&limit=50");
$simpleXml = simplexml_load_string($url);
$json = json_encode($simpleXml);
var_dump($json);
?>
我用PHP做跨域請求,然後利用與$阿賈克斯PHP代碼的URL。當使用$ .ajax來訪問沒有php的API的URL時,我得到一個No 'Access-Control-Allow-Origin'
錯誤。正如你所期望它
您是否通過JSON.parse()解析了您的ajax響應文本? –
如果您在將問題轉換爲json時遇到問題,那麼使用ajax解析xml也相當簡單。需要顯示你的php代碼 – charlietfl
json_encode不應該預先加上'string(length)',或者不在原始對象中的任何東西。如果我猜測這只是描述json_encode操作結果的var_dump或print_r的輸出。 – stakolee