使用wordpress中的AJAX调用插件中的文件

时间:2013-01-18 09:17:05

标签: ajax wordpress plugins subscribe

我正在使用wordpress 3.5并使用插件处理简报。我已经放置了新闻稿小部件,其中包含一个用于电子邮件的文本框和一个用于订阅的按钮。单击该按钮时,它将被定向到名为subscribe.php的文件。它位于[wordpress_plugin_directory] ​​/subscribe.php。

我想使用AJAX进行此订阅。单击该按钮时,它只需调用[wordpress_plugin_directory] ​​/subscribe.php并让该文件完成工作。我已经阅读了许多关于如何在Wordpress上使用AJAX的文章,但似乎我无法理解它。

如何使用AJAX调用该文件?

2 个答案:

答案 0 :(得分:1)

这很难回答,因为你没有展示你尝试过的东西。

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

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

如果仍然无法让它工作,请显示您尝试过的内容以及失败的位置,以便提供更详细的答案。

答案 1 :(得分: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;
});