thinkphp中 ajaxReturn方法的使用及弹出提示对话框

php 中 弹出提示框后怎么样跳转到另一个页面 (用 location herf)

这行代码是JavaScript。

它有两件事。

首先,它会弹出一个窗口。
该窗口显示“这是弹出框”。

第二,弹出后页面会跳转到another.php。

2 02 3 年,我测试了这段代码。

当时使用的是Chrome浏览器。

跳跃没问题。

这取决于你。

PHP HTML按钮点击跳转:确认提示后跳转指定链接

上周一位客户问我这个问题。
他想不通为什么他输入的“开始”按钮总是无法弹出确认框……我当时就帮他想通了,其实很简单。
想一想,这个命令的本质就是将JavaScript的assert()函数与_window.location.href结合使用。
我们使用PHP+HTML来做这件事,主要依靠这两兄弟。

先说最直接的方法。
看一下这段代码:
<button onclick=confirmAndRedirect('https://www.example.com')">转到示例</button> <脚本> 函数断言并重定向(url){ if(confirm("您确定要前往" + url + "?")) { 窗口.location.href = url; } } [xss_clean]
这个符号是什么意思?单击按钮时,将调用ConfirmAndRedirect() 函数。
此功能将向您显示一个小框,询问“您确定要移动到...吗?”。
如果单击“确定”,则 _window.location.href = url;浏览器中的代码行将转到此 URL。

如果你想用PHP动态生成这种类型的按钮,例如从数据库获取医院ID,代码可能是这样的: PHP <?php $hospitalID = 1 2 3 ; ?> <input type="button" value="Approved Hospital" onclick=confirmAndRedirect('approveHospital.php?id=<?php echo $hospitalID; ?>')">
注意,这里的 $hospitalID 是一个变量,PHP 会将其替换为特定的数字,因此每次生成的 URL 都会不同。

但是我自己遇到的问题是,有时候URL中含有参数时,直接这样写会出现问题。
例如,如果包含中文或特殊字符,则可能会出现乱码。
您应该使用 Specialchars() 或 urlencode() 来处理它。
像这样: PHP $safeUrl = Specialchars('approveHospital.php?id=' . $hospitalID, ENT_QUOTES); echo '<input type="button" onclick=confirmAndRedirect(\'' . $safeUrl . '\')">';
这将防止 XSS 攻击。

后来我想知道这段代码是否可以写得更优雅。
许多前端现在建议使用事件侦听器,而不是像 onclick 这样的内置 JavaScript。
您可以按如下方式更改:
<button id="myButton">跳转</button> <脚本> document.getElementById('myButton').addEventListener('click', function() { if (confirm("确认跳转?")) { _window.location.href = 'https://www.example.com'; } }); [xss_clean]
这样就实现了代码的分离。
<button> 标签保持不变,但 JavaScript 部分是独立的。

还有其他细节。
想想如果用户点击取消呢?浏览器不执行任何操作有时您可能还想提示“用户已选择取消”。
您可以添加另一个分支: 爪哇脚本 函数断言并重定向(url){ if(confirm("您确定要前往" + url + "?")) { 窗口.location.href = url; }其他{ Alert("操作取消"); }
不过,这要根据具体情况而定。
有时无需要求取消。

最后说一下我最近遇到的一个问题。
测试发现跳转失败,例如用户没有连接到互联网。
此时_window.location.href可能会返回错误。
您可以添加一个测试: JavaScript 函数断言并重定向(url){ if(confirm("您确定要前往" + url + "?")) { const Success = _window.location.href = url; // 注意这里是href 如果(!成功){ alert("转换失败,请检查网络连接!"); } }
_Window.location.href = url;这里使用它而不是 _window.location.replace(url),因为替换不会出现在您的浏览器历史记录中。

无论如何,你可以找到答案。
这个问题的关键在于以下步骤:运行按钮功能->确认->转到站点。
注意PHP部分的安全性,不要让用户输入乱七八糟的东西。
我还在想一个问题,如果URL特别长怎么办?如果超过2 04 8 个字符就会报错...