Javascript XMLHttpRequest.send()上的AJAX语法错误

Javascript XMLHttpRequest.send()上的AJAX语法错误,javascript,ajax,syntax,Javascript,Ajax,Syntax,我正在努力。我几乎没有网络经验,所以当出现问题时,我有点惊讶,没有回溯,没有日志,什么都没有 我取出了Firebug,它说我的send()调用都有语法错误 准则的相关部分(我认为): function getChatText() { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open("GET", 'getChat.php?chat=1&last=' + l

我正在努力。我几乎没有网络经验,所以当出现问题时,我有点惊讶,没有回溯,没有日志,什么都没有

我取出了Firebug,它说我的
send()
调用都有语法错误

准则的相关部分(我认为):

function getChatText() {
    if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
        receiveReq.open("GET", 'getChat.php?chat=1&last=' + lastMessage, true);
        receiveReq.onreadystatechange = handleReceiveChat; 
        receiveReq.send(null);  // <---  Firebug says an error is here
    }           
}

function sendChatText() {
    if (sendReq.readyState == 4 || sendReq.readyState == 0) {
        sendReq.open("POST", 'getChat.php?chat=1&last=' + lastMessage, true);
        sendReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        sendReq.onreadystatechange = handleSendChat;
        var param = 'message=' + document.getElementById('txt_message').value;
        param += '&name=John Doe';
        param += '&chat=1';
        sendReq.send(param);  // <--- and also here
    }
}

您的错误发生在
getChatText
内部(位于错误消息中调用堆栈的顶部)

您可能正在使用无效语法调用
eval
;您可能忘记了将JSON封装在括号中

您应该使用Firebug的调试器来跟踪错误


编辑:尝试在
lastMessage
上调用
encodeURIComponent
;这可能会有帮助。(无论如何,您都应该这样做以防止URL注入)

这不是语法错误。错误的确切文本是什么?我强烈建议将jQuery用于与AJAX相关的任务。它将代码简化了十倍,并且更兼容跨浏览器@斯莱克斯:我不认为是这样,但这就是错误所说的。我添加了错误消息。@Dutchie432:jQuery的下载链接似乎已断开。我发布了
getChatText
。如您所见,我没有调用
eval
。我尝试在
lastMessage
上调用
encodeUriComponent
。我得到的
encodeUri组件未定义
。我还尝试了
encodeUrlComponent
,以防
I
是一个打字错误,但我得到了
encodeUrlComponent也没有定义。我添加了对
encodeURIComponent
的调用。我没有收到
notdefined
错误,但它没有解决我原来的语法错误。原来我调用的PHP有语法错误,这是我的请求的语法错误,被Firebug捕获。谢谢你的帮助。
Syntax Error: 
    getChatText()       (line 38)
    handleSendChat()    (line 56)
receiveReq.send(null);  (line 38)