【问题标题】:Start a javascript when AJAX receive postAJAX 收到帖子时启动 javascript
【发布时间】:2020-06-27 03:56:30
【问题描述】:

我正在编写一个 javascript 脚本,该脚本对包含另一个 javascript 的 PHP 页面发出 AJAX Post 请求,我需要 PHP 页面脚本在收到 AJAX 的响应后自动运行,但是它不起作用,我没有找到任何特别适合该需求的解决方案。知道如何解决这个问题吗?

page01.php

<div id="value"></div>
<script>
function myClick() {
  $.ajax({
    url: 'script.php',
    type: "POST",
    data: {},
    success:function(data){
      $('#value').html(data);
    },
    error: function(jqXHR, textStatus, errorThrown) {
      alert(textStatus, errorThrown);
    }
  });
}
</script>

脚本.php

<script>
window.onload = startVerify;
function startVerify(){
alert("OK");
}
</script>

我认为它不起作用,因为 window.onload 不适用,因为窗口已经加载。但我不知道如何让 PHP 页面代码在发布后自动运行脚本。解决方案可以是纯javascript或jquery。

非常感谢!

【问题讨论】:

  • 您是否一直在监视浏览器开发工具的控制台和网络选项卡中的操作和结果?另外,如果您使用的是 jquery,为什么要使用 window.onload = startVerify; 而不是 jquery $(function() { });
  • 为了澄清起见,您正尝试使用 PHP 在您的网络服务器上创建 javascript 代码,通过 Ajax 调用将该代码发送回客户端,然后在客户?
  • 在代码运行时调用它??? success:function(data){ $('#value').html(data); startVerify(); },
  • @epascarello 完美运行!哇,我不知道有可能调用一个函数作为一个成功的 AJAX 响应,这解决了我很多问题!非常感谢:D

标签: javascript php jquery ajax


【解决方案1】:

调用此方法以成功加载脚本:

    function addScript(source) {
        var script = document.createElement('script');
        script.setAttribute('type', 'text/javascript');
        script.src = source;
        if (document.head != null) {
            document.head.appendChild(script);
        }
    }

source 是你的脚本路径。希望这能解决您的问题。

【讨论】:

  • 嗯?这对 Ajax 调用有什么作用?
  • 成功后,你必须加载一个脚本。因此,您可以在 JS 中的任何位置定义此方法,然后通过脚本路径调用此方法。它会加载你的 JS。
猜你喜欢
  • 2015-03-25
  • 1970-01-01
  • 2017-02-17
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 2019-12-22
  • 2016-06-03
相关资源
最近更新 更多