请帮我解决这个问题。 我有以下代码,我可以从外部js文件中检索值
$phpBsetB= "<script>document.write(BsetB)</script>";
echo $phpBsetB;
假设BsetB存储字符串“abcde”。上面的代码将简单地打印出abcde变量BsetB。 我的问题是,如果我添加以下代码
$handle = fopen("test.js", "w");
fwrite($handle, $phpBsetB);
fclose($handle);
将在test.js中保存的内容不是abcde,而是保存
<script>document.write(BsetB)</script>
有什么方法可以让它保存abcde吗? 非常感谢你的帮助!
谢谢你们的快速帮助!我想我需要解释更多我想做的事情。也许你们可以找到更好的方法来解决这个问题。 我有一个网页,加载一个名为test.js的外部平面文件。在test.js中,我已经在那里声明了一些变量。我正在尝试做的是,这个网页目前正确地从test.js读取所有变量,但它不会写/更新test.js文件。我希望网页能够编写/更新此test.js.既然javascript无法在服务器端写,我试图用php写。关键是......我需要加载test.js文件,所以我可以编写/更新它。我的网页目前使用js来阅读,所以这就是为什么我的代码现在让人感到困惑...我只知道如何使用javascript读取js文件。在我检索值之后,我需要将此js变量传递给php。 或者我应该创建php平面文件而不是js? 真的很感谢你的帮助!
答案 0 :(得分:2)
以下行被解释为字符串。
$phpBsetB= "<script>document.write(BsetB)</script>";
您必须创建一个从客户端(javascript)向服务器端(php)发送值的请求。
答案 1 :(得分:0)
你混淆了php和javascript,它们不会在tendom中运行。
您的结果始终为<script>document.write(BsetB)</script>
,因为BsetB
不是变量,它根本没有值。
如果你从某个地方收回这个值,那么它应该是这样的
$BestB = "abcde";
$phpBsetB= "<script>document.write($BsetB)</script>";
echo $phpBsetB;
$handle = fopen("test.js", "w");
fwrite($handle, $phpBsetB);
fclose($handle);
答案 2 :(得分:0)
PHP无法执行JavaScript函数,也无法处理标记 - 这就是浏览器的工作。 PHP将只输出您告诉它输出的内容,即:<script>document.write(BsetB)</script>
如果要在浏览器中执行该功能,请在输出中回显它或通过脚本标记包含test.js文件。
这样说,它会产生JavaScript错误,因为BsetB
未定义Javascript变量
应该是
$BsetB= "<script>document.write('abcds')</script>";
echo $BsetB;
浏览器输出 abcds
OR
$my_output = "abc";
$BsetB= "<script>document.write('".$my_output."')</script>";
echo $BsetB;