JavaScript中window.open无法跳转页面的问题求助
JavaScript中window.open无法跳转页面的问题求助
嘿,我仔细看了你的代码,一下子就发现了核心问题——你在发送按钮的点击事件逻辑里,犯了一个典型的代码执行中断错误!
你看,在else分支里第一行就写了window.location = "url.php";,这行代码会直接让当前页面跳转到url.php,页面一刷新,后面所有的代码(包括判断用户输入是否匹配space值、调用SendMessage,还有你盼着触发的window.open)都根本没机会运行!这就是为什么window.open完全没反应的原因。
给你梳理下修复步骤:
- 立刻移除或调整
window.location = "url.php";的位置:如果这行是用来提交数据的,那应该用AJAX异步处理,不能直接跳转页面打断后续JS逻辑。 - 修正URL参数分隔符:你
window.open里用了&&,URL里的参数分隔符应该是单个&,调整后代码如下:
window.open("test2.php?units="+units+"&price="+price+"&down="+down+"&space="+space);
- 加日志排查变量:可以在判断space的条件里加一行
console.log(units, price, down, space),确认这些变量确实被正确赋值,方便你排查问题。
另外顺便提个安全问题:你的PHP代码直接把$_GET['message']拼进SQL语句里,存在严重的SQL注入风险,建议改成预处理语句,示例如下:
<?php include 'config.php'; if (isset($_GET['message'])) { $usermessage = $_GET['message']; $stmt = $conn->prepare("SELECT * FROM messages WHERE message = ? LIMIT 1"); $stmt->bind_param("s", $usermessage); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { $row = $result->fetch_assoc(); $botresponse = $row["response"]; echo json_encode($botresponse); } else { $botresponse = "Sorry , I Dont Understand"; echo json_encode($botresponse); } } ?>
备注:内容来源于stack exchange,提问作者Hossa The Coder
相关产品推荐
相关产品推荐

