JSON无效令牌

时间:2011-07-13 12:56:52

标签: javascript json websocket

您好, 我的解析函数有一个非常烦人的问题。我从我的websocket服务器收到一个JSON字符串(我很确定)。我已经在线验证了它,但在使用我的脚本解析时仍然出现“无效令牌”错误。

然而,如果我手动插入功能,一切都很完美。我的字符串出了什么问题?

function parseSocketMsg(msg){
        var obj = jQuery.parseJSON(msg);
        $.each(obj, function(i, item){
            var rec = getRect(item.id);
            rec.x = item.x;
            rec.y = item.y;
        });
}

function connect(){
    var host = "ws://localhost:8080/scrabble/server.php";
    try{
        socket = new WebSocket(host);
        print("Connected. Awaiting Handshake...");
        socket.onopen    = function(msg){
            if(!ctx){
                init();
            } 
            print("Connection established - status "+this.readyState); 
        };
        socket.onmessage = function(msg){ parseSocketMsg(msg.data); };
        socket.onclose   = function(msg){ print("Connection Lost! Reconnecting..."); connect(); };
    }
    catch(ex){}
}

2 个答案:

答案 0 :(得分:4)

最近有一个类似的问题,问题是在字符串的开头和结尾有一个意外的空字符。

我建议您以十六进制形式转储您要解析的内容的确切内容,目视检查并不总是在字符数据中显示奇怪。

答案 1 :(得分:0)

你有var host = "ws://...这可能是问题吗?你确定收到了什么吗? (记录/打印/无论你得到什么)。我想你正在阅读服务器中的日志,并假设你的js正在获取它。