我有一个在PHP页面上调用body load的函数。
<script>
function testConnection()
{
var sDataLoader = readCookie('DataLoader');
<?php connTest(sDataLoader); ?>
}
</script>
connTest()是一个PHP函数,它接受javascript变量并执行某些操作。关于这一切的一切看起来都不对,但它可以在我的一台LAMP服务器上运行,并且完全爆炸(就像我期望的那样)在另一台服务器上。
未知错误类型:[8]使用未定义的常量sDataLoader-假设'sDataloader'
服务器的配置非常不同,显然会产生巨大的差异,但我只是不明白为什么/如何工作,所以我无法弄清楚如何让它在两台服务器上都能正常工作。
答案 0 :(得分:5)
当在客户端上执行<script>
标记时,代码的PHP部分(在服务器上运行)完全完成。鳍!已经失去记忆,永远不会被再次看到或听到!
调用connTest
并传入Javascript变量sDataLoader
这一概念毫无意义,除非您放弃所有线性时间概念。
如果要在服务器上执行更多代码,则需要发出新 HTTP请求并发送相关数据。有很多方法可以做到这一点,包括AJAX,IFrame,回发等等。
至于为什么这个“工作”在另一台服务器上,显而易见的答案是它没有。有可能恰好是一个名为sDataLoader
的服务器端变量,它可能会与工作混淆。