通过admin-ajax.php进行的AJAX调用返回404错误

时间:2015-04-29 作者:la1ch3

目前,我正在尝试执行一个非常基本的AJAX请求,只是为了测试功能,通过管理AJAX路由我的调用。php。然而,每次我尝试触发AJAX请求时,都会收到一个404错误,上面写着“未捕获的语法错误:意外的标记<;”。Wtf?这似乎是因为我的DTD中的carot。。。我已经检查了我的代码,但不知道我在这里做错了什么。。。我对AJAX的工作还比较陌生,所以如果有任何帮助,我将不胜感激。

函数中的php。php什么都不是。。。

function shows_callback(){
    echo \'<h1>Test</h1>\';
}
ajax调用。。。

    $(".tabs .btn").click(function(e) {
        e.preventDefault();
        $.ajax({
            url:"/wp-admin/admin-ajax.php",
            type: "GET",
            dataType: "html",
            cache: false,
            data: {
                action: "shows"
        },
            success: function(resp) {
                $(".ajax-show").append(resp);

            },
            error: function(xhr, status, error){
                var err = JSON.parse(xhr.responseText);
                console.log(err);
            }
        });
    });
我到底做错了什么?

编辑:完整错误:

Uncaught SyntaxError: Unexpected token <
我认为这与数据类型有关,但我已经声明了html,所以我不理解。。。

2 个回复
SO网友:Krzysztof Grabania

successerrorfunctions, 不properties AJAX函数的。工作代码:

$(".tabs .btn").click(function(e) {
    e.preventDefault();
    $.ajax({
        url:"/wp-admin/admin-ajax.php",
        type: "GET",
        dataType: "html",
        cache: false,
        data: {
            action: "shows"
        }
    })
    .success(function(resp) {
        $(".ajax-show").append(resp);
    })
    .error(function(xhr, status, error) {
        var err = JSON.parse(xhr.responseText);
        console.log(err);
    });
}); 
还应注意:

Deprecation Notice: jqXHR。success(),jqXHR。error()和jqXHR。从jQuery 3.0开始,complete()回调被删除。您可以使用jqXHR。done(),jqXHR。fail()和jqXHR。而是始终()。

SO网友:prosti

确保设置

define( \'WP_DEBUG\', false );
否则,通知和可能的错误可能会导致404。

结束

相关推荐

AJAX在提交表单时不返回任何内容

我在wordpress中工作,在按下submit按钮时,我希望函数通过ajax返回结果,结果应在屏幕上显示为警报。但当我按submit时,什么都没有显示。下面是我的代码Ajax代码(ajaxinsert.js文件)jQuery(document).ready(function(){ //////////////////////////////////////////////////////////// jQuery(\"#addimage\").submit(functi