سلام
وقت بخیر
من همه مواردی که فرمودید رو دقیقا پیاده سازی کردم، ولی بازم با ارور 404 در برگردانده شدن ajax برخورد میکنم:
کد صفحه ajax.php
<?php
add_action('hht_ajax_calculate_operation','wp_apis_handle_ajax_operation');
function wp_apis_handle_ajax_operation(){
}
?>
کد صفحه wpapis-admin.js:
jQuery(document).ready(function($){
$('#sendAjaxRequest').on('click', function(event){
$.ajax({
url:'/wp-admin/admin-ajax.php',
type:'post',
data:{
action:'calculate_operation',
numberOne: 25,
numberTwo: 87
},
success:function(response){
},
error: function(error){}
});
});
});
برای مطمئن شدن از include بودن صفحه ajax.php، مقدارهای تستی رو برای چاپ فرستادم، نمایش داده شد و مشکلی نبود
سلام خدمت شما
در کد شما
add_action('hht_ajax_calculate_operation','wp_apis_handle_ajax_operation');اشتباه
add_action('wp_ajax_calculate_operation' , ...............................);درست
سلام این مسله را هم چک کنید:
۱-(۴۰۴ مربوط به همین مورد است)
wp-admin/admin-ajax.php
آدرس را به این صورت هم بنویسید
چک کنید آدرس
url
.( چون کد شما را بررسی کردم درست بود جز موردی که گفته بودم) .دقیقا کجا می رود
اگر نشد مجدد پیام بدهید
نه به اون صورت حل نشد مشکل حل نشد
موضوعی که خیلی جالبه اینه که، وقتی صفحه مرورگر باز میمونه
بعد از چند دقیقه بصورت خودکار پاسخ های ajax فرستاده میشه
ولی روی دکمه که کلیک میکردم باز هم ارور 404 میداد
من ادرس Request url رو چک کردم، زمانی که من روی دکمه کلیک میکردم، مقدار ادرس برابر
Request URL: http://localhost/wp-admin/admin-ajax.php
بود، و مقدار هایی که خودش ارسال کرده بود:
Request URL: http://localhost/wordpress/wp-admin/admin-ajax.php
همونطور که مشخصه روی دکمه که کلیک میکنیم مسیر رو ناقص میفرسته
با توجه به اینکه یک پوشه جلوتر کد اجرا میشه من مسیر ادرس دهی رو به این شکل تغییر دادم تا به یک فولدر عقب تر برگرده
url:'../wp-admin/admin-ajax.php',
مشکل کامل حل شد، و مقادیر ارسال شده هم اوکی بود
ولی متوجه نشدم که دلیلش چیه؟
http://localhost/wp-admin/admRequest URL: http://localhost/wp-admin/admiRequest URL: http://localhost/wp-admin/admin-ajax.phpn-ajax.phpRequest URL: http://localhost/wp-admin/admin-ajax.phpin-ajax.php
http://localhost/wp-admin/admin-ajax.phphttp://localhost/wp-admin/admin-ajax.php
سلام
اگر آدرس http://localhost/wordpress/wp-admin/admin-ajax.php به درستی کار می کند
عملیات های زیر را انجام دهید:
1- وقتی شما آدرس localhost را می زنید چه اتفاق می افتد
2-حالا آدرس localhost/wp-admin را بزنید ببینید چه اتفاقی می افتد
3-حالا آدرس http://localhost/wordpress/wp-admin/ بزنید ببینید چه اتفاقی می افتد
اینها را بررسی کنید دلیلش را متوجه می شوید(حالت سوم پروژه شما شناسایی می شه و پنل مدیریت می آید)
امیدوام منظورم را به درستی به شما منتقل کرده باشم