目前,我正在尝试执行一个非常基本的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,所以我不理解。。。
SO网友:Krzysztof Grabania
success
和error
是functions, 不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。而是始终()。