提交后重定向表单


redirect form after submit

我用JS创建了一个提交表单,只是为了将变量发布到PHP:

entry.innerHTML= ' <form action="eLoad.php" method="post"> <input class="submitLink" type="submit" name="name" value='+uploaded[i][1]+'> </form>

它可以工作,但在我的 php 中,我想将一个变量发回给 JS。我正在使用 Json,但每次我提交时,表单都会提交到我的浏览器并输出 php 文件并回显我在浏览器上拥有的任何 JS 文本。我想在我的 php 加载中 php 和 js (json) 之后重定向到另一个页面。

有什么帮助吗?谢谢

听起来发送 AJAX 请求并重定向回调函数是您需要的。正如这里建议的,我也强烈建议使用现有的库。

例如,要使用jQuery,您首先必须通过添加以下内容来包含它:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>

完成此操作并可以使用该库后,请尝试以下操作:

$.ajax({
  url: "eLoad.php"
}).done(function() {
  window.location = <url-to-redirect-to>;
});

最后要提到的是,在调用jQuery的ajax函数时可以使用许多有用的参数,请查看 http://api.jquery.com/jQuery.ajax/

您在这里查找的是表单的异步提交,也称为 AJAX。
我建议你采用现有的库来为你做无聊的部分。

访问这个轻量级的 JS AJAX 库,你需要按照建议使用 ajax,实现和使用 jQuery 将是最快的方法,但一定要选择其他选项,如 zepto.js、mootools 等。另外,如果您想为您的问题构建自己的解决方案,请在xmlhttp上进行一些研究,请参阅此链接 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

您不必编写大量代码来执行此操作,但使用现成的库不会受到伤害。

我推荐一个AJAX解决方案。看看 JQuery JavaScript 库 在 http://api.jquery.com/jQuery.ajax/。使用 AJAX,您可以将内容(和发布表单)动态加载到网页中,而无需刷新页面。

编辑:示例代码:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).on('submit', 'form#my-form', function() {
        $.ajax({
          type: "post",
          data: $(this).serialize(),
          url: "my_page.php",
          success: function(response) {
            alert(response);
          }
        });
    });
</script>