-5

我有一个在 PHP 页面上的正文加载时调用的函数。

<script>
    function testConnection()
    {
        var sDataLoader = readCookie('DataLoader');
        <?php connTest(sDataLoader); ?>     
    }
</script>

connTest() 是一个 php 函数,它接受 javascript 变量并执行一些操作。这一切看起来都是错误的,但它可以在我的一台 LAMP 服务器上运行,并且在另一台服务器上完全崩溃(如我所料)。

未知错误类型:[8] 使用未定义常量 sDataLoader-假定为“sDataloader”

服务器的配置非常不同,所以这显然会产生巨大的差异,但我只是不明白它为什么/如何工作,所以我不知道如何让它在两台服务器上工作。

4

1 回答 1

4

<script>标签在客户端执行时,代码的 PHP 部分(在服务器上运行)已完全完成。鳍!消失了,失去了记忆,再也见不到或听到了!

除非您放弃所有线性时间的概念,否则调用connTest和传递 Javascript 变量的sDataLoader概念是没有意义的。

如果要在服务器上执行更多代码,则需要发出的HTTP 请求并发送相关数据。有很多方法可以做到这一点,包括 AJAX、IFrame、回发等。

至于为什么这在另一台服务器上“有效”,显而易见的答案是它没有。有可能只是碰巧有一个名为的服务器端变量sDataLoader做了一些可能与working混淆的事情。

于 2012-08-30T18:40:44.697 回答