我对整个jQuery / JSON事情都很陌生,但我想我会试一试。我的想法是,我将数据发布到PHP脚本,然后返回一个JSON对象。这在我的localhost上工作正常,但在Web服务器上,Firebug显示正在返回JSON对象,但我也收到404错误。
我可能出错的任何想法?
Javascript -
$(".vote").click(function(){
$('#graph').empty();
var area = $(this).attr("id");
$.ajax({
dataType: "json",
type: "POST",
url: "<?php echo base_url(); ?>home/vote",
cache: false,
data: "area="+ area,
success: function(json){
arrayOfData = new Array(
[json.science_graph,'Science','#009999'],
[json.maths_graph,'Maths','#FF6600'],
[json.ict_graph,'ICT','#FF0000'],
[json.mfl_graph,'MFL','#FFCC00'],
[json.dt_graph,'Design Technology','#33CC00'],
[json.other_graph,'Other Events','#003399']
);
$('#graph').jqBarGraph({ data: arrayOfData, barSpace: 5, width: 430 });
}
});
});
PHP -
if ($vote == true)
{
$poll = $this->ts_model->graph_poll();
list($maths, $science, $ict, $dt, $mfl, $other) = $poll;
echo "{";
echo "\"science_graph\":\"".$science."\",";
echo "\"ict_graph\":\"".$ict."\",";
echo "\"dt_graph\":\"".$dt."\",";
echo "\"other_graph\":\"".$other."\",";
echo "\"mfl_graph\":\"".$mfl."\",";
echo "\"maths_graph\":\"".$maths."\"";
echo "}";
}
提前致谢。
答案 0 :(得分:0)
什么是“.vote”?我建议更改“click”处理程序,使其具有
return false;
作为最后一行。我(几乎不保证)的猜测是“.vote”是提交按钮或<a>
标签,而“click”触发了处理程序和本机操作。如果处理程序返回false
,则本机操作将不会继续。
答案 1 :(得分:0)
如果json调用返回404这是我认为你在说什么,你需要检查这是否正常。您应该能够在浏览器中输入您正在呼叫的网址,以便更好地了解正在发生的事情。完成此操作后,您将能够对其进行调整,然后将其添加回脚本中。
答案 2 :(得分:0)
检查您的网络服务器上是否启用了mod_rewrite。有同样的问题,结果404是因为我的htaccess中的这一行:
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>