کار نکردن ajax در وردپرس - خطای 400

حل شده 

Wordpress

توسط seyed2 در 1 سال پیش
2 53.1k 2 1 سال پیش
seyed2 mehdigm kingblogg
1

سلام. کسی میدونه این تابه مشکلش چیه؟ تو کنسول خطای 400 bade request میده. البته کل تابه این نیست ولی انگار اصلا تابع اجرا نمیشه :(

if ( ! function_exists( 'myapp_get_booking_step_four' ) ) {
	function myapp_get_booking_step_four(){
		$json['type']	 = 'success';
		$json['message']  = esc_html__('form returned','docdirect');
		echo json_encode($json);
		die;
	}
	add_action('wp_ajax_myapp_get_booking_step_four','myapp_get_booking_step_four');
);
}
var dataString = 'data_id='+data_id+'&action=myapp_get_booking_step_four';
			jQuery.ajax({
				type: "POST",
				url: scripts_vars.ajaxurl,
				data: dataString,
				dataType:"json",
				success: function(response) {
					jQuery('body').find('.myapp-loader-wrap').remove();
.
.
.
				}
			});
wp_localize_script('myapp_user_profile', 'scripts_vars', array(
			'ajaxurl' => admin_url('admin-ajax.php'),
آخرین ویرایش: 01-08-2018 ساعت 09:17، توسط seyed2
خطای 400 میگه که یه مشکلی توی درخواست شما وجود داره و سرور نمیتونه اون رو انجام بده ، لطفا کد های ajax رو هم قرار بدید تا بتونیم بهتر بررسی کنیم – mehdigm 1 سال پیش
سلام مرسی که جواب میدین سوالو ویرایش کردم – seyed2 1 سال پیش

پاسخ ها

2

سلام. آیا چک کردید تو هر دوحالت میهمان و ادمین این خطا رو میده؟ میتونید این رو تست کنید:

add_action('wp_ajax_nopriv_myapp_get_booking_step_four','myapp_get_booking_step_four');

به قسمت nopriv توجه کنید

آخرین ویرایش: 04-08-2018 ساعت 08:23، توسط SkyTech
1

این قسمت رو به کد AJAX اضافه کنید .

contentType: "application/json; charset=utf-8"

و این قسمت رو اصلاح کنید :

var dataString  =  JSON.stringify({data_id : data_id,action:'myapp_get_booking_step_four'})
آخرین ویرایش: 01-08-2018 ساعت 20:06، توسط mehdigm
با این روش حل نشد متاسفانه – seyed2 1 سال پیش
mehdigm 1 سال پیش
نه :(( – seyed2 1 سال پیش

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.

لطفا ابتدا لاگین کنید