ajax正在调用错误函数

时间:2015-05-20 14:58:21

标签: javascript php jquery ajax

我正在开发一个Web应用程序,我想将数据从php控制器发送到javascript,我做了一些研究,我发现最好的方法是使用Ajax和Json,但我得到的是错误功能,这是行不通的。

这是我的PHP代码:

            $rep = $em->getRepository('LoginBundle:Note');
            $note = $rep->findAll();
            if ($note) {
                $x=count($note);
                for($i=0; $i<$x; $i++) {
                    $vote = $note[$i]->getReputation();
                    $date =$note[$i]->getDate();
                    $posts[$i] = array('vote' => $vote,'date'=>$date);
                }
                echo json_encode($posts);

这是我的剧本:

          $.ajax({
            dataType: "json",
            success: function(posts){
            $.each(posts, function(idx, post){
            data.addRow([idx,post.vote]);
         });
           },
           error: function(jqXHR, textStatus, errorThrown){
              alert(textStatus+" error "+errorThrown);
         }

});

编辑:

错误是:

         parsererror error SyntaxError: unexpected >

这是Json的回应:

              [{"vote":12},{"vote":14}]<!DOCTYPE html>

它看起来问题来自< <!DOCTYPE html>,但我不知道如何让脚本只接受json数据

任何想法??

谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

目前你没有用AJAX调用任何东西,你只是说我期待一些JSON回来。

$.ajax({
    dataType: "json",
});

您需要指定url

此外......输出JSON后,一般的经验法则是终止,以防止输出任何其他内容并使JSON无效。

// identify that you're making a request via AJAX
$is_ajax = ( ! empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')  ? true : false;

// if AJAX return JSON
if ($is_ajax) 
{
     echo json_encode($data);
     exit(); // will terminate script at this point (before HTML)
}

// if not AJAX do your HTML return