eval()的问题 - localhost与webserver

时间:2011-07-14 05:16:20

标签: javascript eval

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不起作用,就像之后的任何其他行一样。

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如果它在localhost上运行,但在Web服务器上失败,请检查request-URL是否未硬编码为localhost绝对路径。

如果请求网址正确,请检查两种情况下receiveReq.responseText中的内容。如果您使用PHP作为服务器脚本,问题可能是您的代码生成警告或通知,并且Web服务器配置为在您的localhost不显示时显示它们。

但你也正确地说问题是关于eval(),因为正如@AlienWebguy所述,问题在于在这里使用它。我相信有更好的解决方案。