0

我用 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) 加载后重定向到另一个页面。

有什么帮助吗?谢谢

4

4 回答 4

1

听起来像发送 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/

于 2013-10-25T14:13:48.087 回答
0

我推荐一个 AJAX 解决方案。查看http://api.jquery.com/jQuery.ajax/上的 JQuery JavaScript 库。使用 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>
于 2013-10-25T14:02:14.543 回答
0

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

于 2013-10-25T14:02:17.887 回答
0

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

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

于 2013-10-25T14:11:58.640 回答