php转换为javascript并返回

php to javascript and back

本文关键字:返回 javascript 转换 php      更新时间:2023-09-26

我有一个php文件,它生成一些html并执行一些数据库查询。还有一些switchcase语句。在一个特定的情况下,我需要向用户发送一些对话框。如果用户按OK,我需要进行一些数据库查询,如果用户按cancel,我不需要。所以我决定回显一个JavaScript代码片段,其中包含一个confirm语句。那么,我如何从JavaScript将确认消息的结果发送回php,并决定是否进行数据库查询。

<?php 
// some code
switch $_REQUEST['action']
case 'save':
echo '<script type="text/javascript">',
     'if (!confirm("text + variables") ) { ajax=new XMLHttpRequest();
                                           ajax.open("POST",filename.php,true);
                                           ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                                           ajax.send("userChoice=false");
                                         }',
     '</script>';
if (!empty($_POST['userChoice'])) {
    echo 'got the variable from javascript!'
    // do some code
}

但不幸的是,$_POST['userChoice']总是空的。有人知道为什么吗?

您在文件名中不加引号。

Javascript不知道它是包含文件名的字符串,它认为它是一个名为filename、属性为php的对象实例。

ajax.open("POST", "filename.php" ,true);

不要用这种方式混合PHP和JS,。。。它们是完全不同的语言,服务器端、客户端,。

以一种不用PHP就能工作的方式构建Javascript。

然后让PHP注入一些配置使用:

<script>
var config = <?php json_encode($phpToJs); ?>;
</script>

调用ajax.open(); 时,尝试在url中传递参数

示例:filename.php?userChoice=false

交换机状态中缺少break;default