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