如何将数据参数传递给AJAX操作函数处理程序

时间:2014-02-12 作者:Ollicca Mindstorm

我有以下js来处理ajax请求:

$(\'#someelement\').click(function() {

        var cokeValue = \'coke\';

        var data = {
            action: \'load_post\',
            another_par: someVar
        };

        jQuery.post(ajax_object.ajax_url, data, function(response) {
            alert(response);
        });
  });
这是我的ajax处理函数(希望我的术语是正确的):

add_action(\'wp_ajax_get_coke\', \'get_coke_ajax\');
function get_coke_ajax() {

   // need to get another_par in here !!!!!!!

   die();
}
正如你所见,行动是load_post 这很好,但我需要通过another_par 参数,以便我可以将其值赋给变量并将其用于我的目的。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

当您使用jQuery.post(), 这个data 按常规发送$_POST 参数。

所以这个JavaScript…

var data = {
    action: \'load_post\',
    foo:    \'bar\'
};
…在您的回调函数中可用,依据:

$action = $_POST[\'action\'];
$foo    = $_POST[\'foo\']; // bar
当您使用jQuery.get(), 数据位于$_GET. 您还可以使用$_REQUEST 返回两者,GETPOST 数据(和COOKIE). 但是,您应该始终要求提供特定的资源,以避免来自您意想不到的源的注入,例如cookie。

结束

相关推荐

Call ajax on the frontend

在我的插件文件夹中,我有两个文件1。你好,阿贾克斯。php 2。myajax。js公司通过快捷码,我将此表单添加到前端<form id=\"theForm\" method=\"post\"> <input id=\"name\" name=\"name\" value = \"name\" type=\"text\" /> <input name=\"action\" type=\"hidden\" value=\"the_ajax_hook\" /&g