function handleReceive() {
if (receiveReq.readyState == 4) {
var chat_div = document.getElementById('div_chat');
var response = eval("(" + receiveReq.responseText + ")");
.....
}
}
在localhost服务器上,var response = eval("(" + receiveReq.responseText + ")");
行正常工作
,但在服务器上(例如000webhosting.com),代码在这里破解。
我尝试检查alert().
在本地服务器上alert(response);
返回:[object Object]
,
但是在网络服务器上我什么也没得到,脚本在这里执行就停止了。
我尝试返回chat_div,没关系。但是var response
不起作用,就像之后的任何其他行一样。
任何人都可以帮我吗?
答案 0 :(得分:0)
如果它在localhost上运行,但在Web服务器上失败,请检查request-URL是否未硬编码为localhost绝对路径。
如果请求网址正确,请检查两种情况下receiveReq.responseText
中的内容。如果您使用PHP作为服务器脚本,问题可能是您的代码生成警告或通知,并且Web服务器配置为在您的localhost不显示时显示它们。
但你也正确地说问题是关于eval()
,因为正如@AlienWebguy所述,问题在于在这里使用它。我相信有更好的解决方案。