Php 为什么我从ajaxurl得到400分?

Php 为什么我从ajaxurl得到400分?,php,ajax,wordpress,Php,Ajax,Wordpress,我正在尝试实现基本的ajax。我一直在跟踪。当我单击按钮时,我的JS会触发,但我从ajax url获得了一个400:POSThttp://localhost:8080/wp-admin/admin-ajax.php 400(错误请求) 据我所知,我没有偏离教程代码太远。她是我的JS: jQuery(document).ready(function($){ $('#baa_form').submit(function(){ var data = {

我正在尝试实现基本的ajax。我一直在跟踪。当我单击按钮时,我的JS会触发,但我从ajax url获得了一个
400
:POSThttp://localhost:8080/wp-admin/admin-ajax.php 400(错误请求)

据我所知,我没有偏离教程代码太远。她是我的JS:

jQuery(document).ready(function($){
    $('#baa_form').submit(function(){

        var data = {
            action: 'baa_response'
        } 

        $.post(ajaxurl, data, function(response){
            alert('Hello');
        });

        return false;
    });
});
PHP:

请像这样试试

将其添加到functions.php

$path = plugin_dir_url( __FILE__ ) . 'js/basic-admin-ajax.js';
wp_enqueue_script( 'basic-admin-ajax', $path, array('jquery'), '1.0', true );

wp_localize_script( 'basic-admin-ajax', 'action_linklist', array(
    'ajax_url' => admin_url( 'admin-ajax.php' )
));

function baa_response() {
   echo "something.....";
   die();
}
在您的JS文件中

jQuery(document).ready(function($){
 $('#baa_form').submit(function(){
    jQuery.ajax({
        url: action_linklist.ajax_url,
        type: 'post',
        data:{'action': 'baa_response'},
        success: function (response) {
            alert(response);
        }
    });
    return false;
 });
});
希望这能帮助你

欲了解更多信息,请访问


您错过了
操作
,该操作将在Ajax请求时触发。WordPress无法猜测哪个函数与Ajax调用相关,这就是为什么要阻止它(
400错误请求

在php文件中添加以下行:

add_action('wp_ajax_baa_response', 'baa_response');

您可能还想查看文档。

您是从视频中的什么地方获得此代码的?如果人们可以观看视频的这一部分,就更容易帮助你。我已经更新了我的PHP,所以你可以看到我的整个文件。问题不在于JS没有启动,而是ajax请求正在接收一个
400
。在JS中将
action\u linklist.ajax\u url
修改为
ajaxurl
后,请求仍然会收到
400
。我在你的例子中看到数据中没有动作。将
数据设置为
{action:'baa_response}
没有区别。另外,我已经确认
ajaxurl
指向正确的文件。这是路径
/wp admin/admin ajax.php
,我认为这是正确的。我可能错过了一些显而易见的事情。你能具体指出我做错了什么吗?如果你没有错过add_操作,你最终可能会出现400个错误(错误请求)。见下面我的答案()
jQuery(document).ready(function($){
 $('#baa_form').submit(function(){
    jQuery.ajax({
        url: action_linklist.ajax_url,
        type: 'post',
        data:{'action': 'baa_response'},
        success: function (response) {
            alert(response);
        }
    });
    return false;
 });
});
add_action('wp_ajax_baa_response', 'baa_response');