簡體   English   中英

jQuery ajax Long Polling追加錯誤parsererror(SyntaxError:意外令牌<)

[英]jquery ajax Long Polling append error parsererror (SyntaxError: Unexpected token <)

我想用Jquery Ajax long poll和php做一個類似於facebook的代碼。

我的腳本顯示:error parsererror(語法錯誤:意外的標記<)。

請問我的腳本中這些錯誤的原因是什么?

我的Jquery腳本:

function addmsg(from_id, detail, time){
    $("#updatetime").append(
        "<div class='upbox1'>"+ from_id +" "+ detail +" "+ time +"</div>"
    );
}
function waitForMsg(){
    $.ajax({
        type: "GET",
        url: "upsidenew2.php",
        async: true,
        cache: false, 
        timeout:50000,
        dataType: "json",
        success: function(data){ 
        if(data) {
        addmsg(data);
        }
            setTimeout(
                waitForMsg, 
                1000 
            );
        },
        error: function(XMLHttpRequest, textStatus, errorThrown){
            addmsg("error", textStatus + " (" + errorThrown + ")");
            setTimeout(
                waitForMsg, 
                15000); 
        }
    });
}

$(document).ready(function () {
    waitForMsg(); 
});

upsidenew2.php

include_once("mysessionone.php");
if($session->logged_in){
global $dbh;
$myid = $session->id;

//Find out follow And followers
$q = mysqli_query($dbh,"SELECT * FROM follow WHERE friend_one='$myid' OR     friend_two='$myid'") or die(mysqli_error($dbh));
if ($row = mysqli_fetch_array($q)) {
$f_id = $row['friend_one'];
$f2_id = $row['friend_two'];

//convert follow and followers id's
$s1 = mysqli_query($dbh,"SELECT bdid,username FROM users WHERE `bdid`='".$f_id."' OR `bdid`='".$f2_id."'") or die(mysqli_error($dbh));
while ($row = mysqli_fetch_array($s1)) {
$fbdid = $row["bdid"];
$fusername = $row['username'];

//find out post id's of user's and followers
$g = mysqli_query($dbh,"SELECT parent_id FROM updateside WHERE `from_id`='".$fusername."' OR `to_id`='".$fbdid."' OR `from_id`='".$session->username."' OR `to_id`='".$session->id."' GROUP BY parent_id DESC") or die(mysqli_error($dbh));
while ($row = mysqli_fetch_array($g)) {
$parent = $row['parent_id'];
date_default_timezone_set('Asia/Dhaka');
$timestamp = date("M j, y; g:i a", time() - 2592000);

//here is user's related post to echo
$u = mysqli_query($dbh,"SELECT * FROM updateside WHERE `parent_id`='".$parent."' AND `created` > '".$timestamp."' ORDER BY created DESC") or die(mysqli_error($dbh));
while ($row = mysqli_fetch_array($u)) {
$data['from_id'] = $row['from_id'];
$data['parent_id'] = $row['parent_id'];
$data['to_id'] = $row['to_id'];
$data['sub'] = $row['sub'];
$data['detail'] = $row['detail'];
$data['img'] = $row['img'];
$data['time'] = $row['created'];

header('Content-type: application/json');
echo json_encode($data);
exit;

}
}
break;
}
} else { echo '<div class="mass1">No Update</div>'; }
} else { echo '<div class="mass1">Login to see</div>'; }            //session close

您的問題可能是這樣的:

回聲json_encode($ data);

我也有這個問題,我正在使用:

echo $ _GET ['callback']。 '('。“ {answer:true}”。')';

回調只是請求查詢中的一個參數。 也嘗試dataType:'jsonp'

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM