حل شده

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

بازدید54.2kپست ها2آخرین فعالیت5 سال پیش
1
2

سلام. کسی میدونه این تابه مشکلش چیه؟ تو کنسول خطای 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 5 سال پیش
سلام مرسی که جواب میدین سوالو ویرایش کردم – seyed2 5 سال پیش

2 پاسخ

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 5 سال پیش
mehdigm 5 سال پیش
نه :(( – seyed2 5 سال پیش

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

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