gpt4 book ai didi

javascript - ajax 调用后 php echo javascript 函数不起作用?

转载 作者:搜寻专家 更新时间:2023-10-31 21:34:42 26 4
gpt4 key购买 nike

所以我遇到了一个问题,而且我在任何地方都找不到好的解决方案。而且我敢肯定会有更多人遇到这个问题。

我试图让 Ajax 脚本调用再次回显 JavaScript 函数的 php 脚本,但此函数不会运行或激活。但是,如果您检查元素,它确实会显示在代码中。

所以html和Ajax如下。它的虚拟代码因为我自己的有点复杂。所以我在这里犯的任何语法错误都不是解决方案,因为这适用于我代码的其他部分。

<html><headbodyetc>
<div id='change'>
//is supposed to alert or call another js function after
//verifying something with a database for instance.
<button type='button' onclick='ajaxbelow();'>alert</button>
</div>
<script type='text/javascript'>
function ajaxbelow(){
//AJAX code as found on w3schools.com/php/php_ajax_php.asp
//calls the change.php
</script>
</etc></html>

被调用的php代码非常简单。

//This shows up in the html-code after clicking the button but doesnt run.
echo"<script type='text/javascript'>alert('doenst work?')</script>";

因此,我正在寻找一种解决方案,使我能够在 Ajax 调用后运行 JavaScript 或 jquery 函数,或者这是无法正常工作的主要原因。因为找不到。

Inb4 为什么要通过 php 调用警报?因为我需要先在我的实际代码中使用服务器端的数据库验证一些东西。

最佳答案

因此,在结合并测试了一些评论之后,我找到了自己的答案。您不能在 php echo 中创建新的 javascript。但是,您可以回显调用现有函数的 onload。 Onload 仅适用于以下标签:

“主体”、“框架”、“框架集”、“iframe”、“img”、“输入类型=”图像、“链接”、“脚本”、“样式”。

然而在这种情况下,在测试了其中一些标签(如“script”和“img”)之后,它仍然不适用于所有标签,但它适用于“style”标签。不过我没有测试所有其他标签。

因此我的代码更改为:

<html><headbodyetc>
<div id='change'>
//is supposed to alert or call another js function after
//verifying something with a database for instance.
<button type='button' onclick='ajaxbelow();'>alert</button>
</div>
<script type='text/javascript'>
//function to be called
function test(){
alert("now it works");
}
function ajaxbelow(){
//AJAX code as found on w3schools.com/php/php_ajax_php.asp
//calls the change.php
</script>
</etc></html>

然后 php 代码将变成

echo"<style onload='test();'></style>";

现在它确实运行了这个函数。


编辑这似乎不适用于 IE,现在正在寻找解决方案。

^编辑:默认情况下,IE 浏览器“拒绝”脚本抛出提示的能力。因此,要启用此功能,您必须转到 [工具/Internet 选项/安全性/自定义级别/“允许网站使用脚本化窗口提示信息”] 并启用它...刷新后,您将在 IE 中看到您的警报:)

关于javascript - ajax 调用后 php echo javascript 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22781454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com