0

我正在使用 wordpress 3.5 并使用插件来处理时事通讯。我放置了由一个用于电子邮件的文本框和一个用于订阅的按钮组成的时事通讯小部件。单击该按钮时,它将被定向到一个名为 subscribe.php 的文件。它在 [wordpress_plugin_directory]/subscribe.php 中。

我想为此订阅使用 AJAX。单击该按钮时,它将简单地调用 [wordpress_plugin_directory]/subscribe.php 并让该文件完成工作。我已经阅读了很多关于如何在 Wordpress 上使用 AJAX 的文章,但似乎我无法掌握它的窍门。

您如何使用 AJAX 调用该文件?

4

2 回答 2

1

这很难回答,因为您没有展示您尝试过的内容。

按照codex中的示例,它可以工作。进一步阅读文章(特别是关于安全性的)也值得阅读和实施。

AJAX 将调用一个函数,而不是打开一个文件(尽管您可以使用includerequire在函数中打开文件- 但这可能不是必需的,为什么不只使用该函数返回您需要的内容?我不知道 subscribe.php 中有什么,所以这可能合适,也可能不合适。

如果您仍然无法使其工作,请展示您尝试过的内容以及失败的地方,以便提供更详细的答案。

于 2013-01-18T09:30:53.590 回答
0

你有这样的表格

<form id="newletterBoxForm" method="POST" action="[wordpress_plugin_directory]/subscribe.php">
    <input type="text" ... />
    <input type="text" ... />
    <input type="submit" ... />
</form>

使用 jQuery,您将在事件开始之前获得事件并取消如下操作:

$(document).ready(function() {
    $("#newletterBoxForm").on("submit", function() {
        $.ajax({
        type: "POST",
        url: "[wordpress_plugin_directory]/subscribe.php.",
        // get the data of your form
        data: $(this).serialize(),
        success: function (data) {
            // if it is ok, do some actions
            alert("ok DONE!")
        },
        error : function(s , i , error){
            console.log(error);
        }
    });
    // cancel normal behaviour which will refresh your page
    return false;
});
于 2013-01-18T09:31:11.787 回答