ajax请求后的JavaScript代码在服务器中不起作用
我有一个ajax请求,它将一些数据放入PHP文件中,然后PHP文件用一些JavaScript代码生成HTML内容。Javascript代码也包括谷歌的图表库。因此,图表甚至不起作用。(基本上ajax将一些数据发送到php文件,php文件生成图形) ajax请求ajax请求后的JavaScript代码在服务器中不起作用,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个ajax请求,它将一些数据放入PHP文件中,然后PHP文件用一些JavaScript代码生成HTML内容。Javascript代码也包括谷歌的图表库。因此,图表甚至不起作用。(基本上ajax将一些数据发送到php文件,php文件生成图形) ajax请求 $.ajax({ type: 'GET', url: 'report.php', data: { url: '<?php echo $_POST['url']; ?>' }, succes
$.ajax({
type: 'GET',
url: 'report.php',
data: { url: '<?php echo $_POST['url']; ?>' },
success: function (data) {
var response = data;
$('#to_change').html(data);
clearInterval(interval);
}
});
$.ajax({
键入:“GET”,
url:'report.php',
数据:{url:'},
成功:函数(数据){
var响应=数据;
$('to#change').html(数据);
间隔时间;
}
});
在report.php上
<div id="score">0</div>
<div id="chart1" style="width: 500px; height: 500px;"></div>
<script type="text/javascript">
document.getElementById("score").innerHTML = "<?php echo $sum_score; ?>";
</script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart","bar"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Pac Man', 'Percentage'],
['Analyzer Score', <?php echo $sum_score; ?>],
['', <?php echo 100-$sum_score; ?>],
['', 100]
]);
var options = {
pieHole: 0.5,
tooltip: {text: 'value'},
legend: 'none',
width: 500,
pieSliceText: 'none',
pieStartAngle: 270,
slices: {
0: { color: '<?php echo $color; ?>' },
1: { color: '#d8d8d8'},
2: { color: 'yellow'}
}
};
var chart = new google.visualization.PieChart(document.getElementById('chart1'));
chart.draw(data, options);
}
</script>
0
document.getElementById(“分数”).innerHTML=“”;
load(“当前”{packages:[“corechart”,“bar”]});
google.charts.setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[“吃豆人”,“百分比”],
[‘分析仪分数’,],
['', ],
['', 100]
]);
变量选项={
pieHole:0.5,
工具提示:{text:'value'},
图例:“无”,
宽度:500,
请输入文本:“无”,
皮斯塔坦格尔:270,
切片:{
0:{颜色:'},
1:{颜色:'#d8d8d8'},
2:{颜色:'黄色'}
}
};
var chart=newgoogle.visualization.PieChart(document.getElementById('chart1');
图表绘制(数据、选项);
}
我想知道的一件事是它在localhost中工作得非常好 插入数据:
{url:'}
使用其他变量,如
数据:
{data\u url:''}
这显示了图表问题出在哪里
我看不到你的密码
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
我认为您必须首先确保所有DOM元素都已成功加载。无论您将
代码放在何处(在开始、中间和结束处),浏览器总是首先加载它
我建议您使用jquery。然后在
中执行ff
$(函数(){
//你的js代码…把它们包装在这里
//这里的代码在浏览器呈现所有html元素之后立即执行
});
我把问题解决了。代码中没有错误。我集成了CloudFlare CDN。他们为javascript文件实现了一个名为rocked loader的特性。这就是它不起作用的原因。我把它关掉了。现在一切都很好。您应该使用url:baseURL+'report.php'
includebaseURL
您在浏览器控制台中遇到了什么错误??似乎存在cors错误…@ParthTrivedi我使用firebug检查了响应。响应数据是正确的。没有错误。唯一的问题是javascript代码在加载到后无法工作browser@GijoVarghese我不能让你在加载到浏览器后不工作@ParthTrivedi我的意思是那些由ajax加载的js代码不工作running@YuvajR这会有什么不同?它是由ajax加载的局部视图。此视图中未包含js。它包含在主视图中。仅在聊天中进行讨论。不要把它作为回答。
<? $color='black';
$sum_score=5;
echo 100-intval($sum_score);
?>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<div id="score">0</div>
<div id="chart1" style="width: 500px; height: 500px;"></div>
<script type="text/javascript">
document.getElementById("score").innerHTML = "<?php echo $sum_score; ?>";
</script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart","bar"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Pac Man', 'Percentage'],
['Analyzer Score', <?php echo $sum_score; ?>],
['', <?php echo 100-$sum_score; ?>],
['', 100]
]);
var options = {
pieHole: 0.5,
tooltip: {text: 'value'},
legend: 'none',
width: 500,
pieSliceText: 'none',
pieStartAngle: 270,
slices: {
0: { color: '<?php echo $color; ?>' },
1: { color: '#d8d8d8'},
2: { color: 'yellow'}
}
};
var chart = new google.visualization.PieChart(document.getElementById('chart1'));
chart.draw(data, options);
}
</script>
<script type="text/javascript" src="jquery.js"></script>
<script>
$(function(){
// your js codes... just wrap them here
// codes here are executed right after all html elements are rendered by browser
});
</script>