JQuery возвращает объект JSON с 404 - PullRequest
3 голосов
/ 21 июня 2010

Я совершенно новичок во всем, что касается jQuery / JSON, но думал, что попробую.Идея заключается в том, что я отправляю данные в скрипт PHP, а затем возвращаю объект JSON.Это отлично работает на моем локальном хосте, но на веб-сервере 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 "}";
   }

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 21 июня 2010

Если вызов json возвращается 404, что, я думаю, вы говорите, что вам нужно проверить, что это работает нормально.Вы должны быть в состоянии указать URL, который вы вызываете, в вашем браузере, чтобы лучше понять, что происходит.Как только вы это сделаете, вы сможете настроить его, а затем снова добавить в свой скрипт.

0 голосов
/ 25 января 2012

Проверьте, включен ли режим перезаписи на вашем веб-сервере.Была такая же проблема и оказалось, что 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>
0 голосов
/ 21 июня 2010

Что такое ".vote"? Я предлагаю изменить этот обработчик "click", чтобы он имел

return false;

как последняя строка. Мое (едва ли) обоснованное предположение состоит в том, что «.vote» является либо кнопкой отправки, либо тегом <a>, и что «щелчок» вызывает как ваш обработчик, так и собственное действие. Если обработчик возвращает false, то собственное действие не будет продолжено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...