0
我的錯誤在通過javascript訪問wikipedia信息框中?
(我使用CodeIgniter的框架)我的錯誤在通過JavaScript訪問維基百科信息框?
頁面控制器
$data = array(
'title' => 'My Title',
'country' => 'My Heading'
);
$countrycodes = ['au', 'us'];
$countrynames = ['Australia', 'United_States'];
error_log(print_r($page, TRUE));
$key = array_search($page, $countrycodes);
error_log(print_r($key, TRUE));
if($key !=null){
$data['country'] = $countrynames[$key];
}
$this->load->helper('url');
$this->load->helper('utility');
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
if(!is_null($key)){
$this->load->view('templates/infobox', $data);
}
$this->load->view('templates/footer', $data);
AU頁
...
<div style =" position:absolute;top:90%; background: red;">
<?php echo $country; ?></div> // prints Australia.
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/country.js"></script>
// variable isnt formed yet to be picked up by javascript.
信息模板
國家的JavaScript
$(window).load(function(){
var searchTerm= $(".info-box").attr("id");
alert(searchTerm);
//searchTerm= "Australia";
var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + searchTerm+"&redirects&prop=text&callback=?";
$.getJSON(url,function(data){
wikiHTML = data.parse.text["*"];
$wikiDOM = $("<document>"+wikiHTML+"</document>");
$("#result").append($wikiDOM.find('.infobox').html());
});
});
我也試過身體的onload = 「功能();」
我認爲你的錯誤分析是錯誤的。首先,所有的PHP都運行。所有變量都被回顯。然後該頁面被髮送到瀏覽器。然後JavaScript運行。如果它不適用於Javascript,請檢查源代碼是否有錯誤。也許PHP打印錯誤。也許Javascript會提取錯誤的東西。但是對於Javascript而言,PHP沒有時間問題。 – Sven
功能在哪裏base_url() – Vector
我同意@Sven這個問題的前提是錯誤的。這是一個純粹的Javascript問題。從我所看到的,你試圖從錯誤的div中獲取國家的價值(它不在.info-box div中)。 – rebroken