【发布时间】:2023-03-13 09:22:01
【问题描述】:
大家好,我正在尝试在 wordpress 中使用 ajax,但遇到了一些问题。我的代码在控制台中给了我一个错误,因为
jquery-3.3.1.js:9600 GET http://localhost/wordpress/wp-admin/admin-ajax.php 400 (Bad Request)
send @ jquery-3.3.1.js:9600
ajax @ jquery-3.3.1.js:9206
(anonymous) @ main.js?ver=1:27
dispatch @ jquery-3.3.1.js:5183
elemData.handle @ jquery-3.3.1.js:4991
我查看了源代码,它向我显示了这一行的错误
xhr.send( options.hasContent && options.data || null );
这是我的 jquery
$('#retrieve_users').click(function() {
$.ajax({
type: "GET",
url: scriptData.ajaxurl,
action : 'retrieveUsersData',
dataType: "html", //expect html to be returned
success: function(response)
{
$("#users_data").html(response);
//alert(response);
}
});
});
这是我在functions.php文件中的php代码
function retrieveUsersData(){
echo "ajax responding";
}
add_action('wp_ajax_retrieveUsersData','retrieveUsersData');
add_action('wp_ajax_nopriv_retrieveUsersData', 'retrieveUsersData');
这是我的 html
<button id="retrieve_users">Watch Users</button>
<div id="users_data"></div>
请帮忙!!我不知道如何使用 wp_enque_scripts 在 wordpress 中导入 jquery src 链接,所以我将 with jquery src 直接粘贴到 html 中。我希望它不会造成问题
请帮助.. 我真的很感激。谢谢
【问题讨论】:
-
$.ajax没有action属性。您需要在请求中传递它,大概作为 URL 的一部分,具体取决于您的路由配置方式 -
我不确定,但我的做法是使用
POST并在 body 对象中传递action键。 -
如果可能的话,请您建议代码。我有点困惑。谢谢!!
标签: javascript php jquery ajax wordpress