عدم ارسال داده ها json به سمت سرور توسط jquery در وردپرس

0 رأی
میانگین بازدید روزانه 0.11247 بازدید

سلام
یه فایل php دارم که حاوی تابع ArrDep_Submit می باشد این تابع توسط فایل jquery اجرا می شود و مقادیری را وارد دیتابیس می کند و دوباره از دیتابیس مقادیر جدیدی را می خواند در برگشت این مقادیر جدید را که از دیتابیس می خوانم می خوام با استفاده از json به فایل jquery بفرستم تا تو اونجا نمایشش بدم. اما مشکل اینجاست که وقتی تابع ArrDep_Submit رو با استفاده از jquery صدا می زنم تابع اجرا می شه اما نتیجه رو که باید با json برگردونه، برنمی گردونه و مشکل داره.

فایل php:

<?php
    //ADD AJAX
    add_action('wp_ajax_ArrDep_Submit', 'ArrDep_Submit');
    add_action('wp_ajax_nopriv_ArrDep_Submit', 'ArrDep_Submit');
    
    
    //submit form
    function ArrDep_Submit() {
    	//parse data
    	parse_str($_POST['formdata']);
    	//connect ro DB
    	global $wpdb;
    	$table_name = "wp_INOUT_records";
    	//insert data
    	if($id) {
    		$result = $wpdb->update($table_name, array(
    			'IN_OUT' => $io,
    			'shortdate' => $shortdate,
    			'hrs' => $hrs,
    			'min' => $min
    		), array(
    			'IO_ID' => $id
    		));
    		if($result)
    			exit("$io شما در تاریخ $hrs:$min - $shortdate با موفقیت بروزرسانی شد!");
    		else
    			exit("خطا در بروزرسانی داده! لطفا پس از چند دقیقه دوباره امتحان کنید.");
    	} else {
    		$result = $wpdb->insert($table_name, array(
    			'user' => $user,
    			'IN_OUT' => $io,
    			'shortdate' => $shortdate,
    			'hrs' => $hrs,
    			'min' => $min
    		));
    		if($result){
    			$id = mysql_insert_id();
    			$data = array("user"=>$user, "IN_OUT"=>$io, "shortdate"=>$shortdate, "hrs"=>$hrs, "min"=>$min, "IO_ID"=>$id);
    		}
    		else{
    			$data = array('error'=>'خطا در ثبت داده! لطفا پس از چند دقیقه دوباره امتحان کنید.');
    		}
    		
    		/* Return JSON */
    		echo json_encode($data);
    
    		/* Stop Execution */
    		exit;
    	}
    }
    
    ?>

فایل JQuery:

 

    jQuery('document').ready(function($){
	var infoPanel=$('#infoPanel'); // define the infopanel 

	$('form.submit').submit(function(e){
		//serialize and store form data in a variable
		var form = $('#'+this.id);
		var formdata = ArrDep_checkForm(form, this.id);
		if(!formdata)
			return false;
		//Add a status message
		infoPanel.html('<p>پردازش...</p>');
		//Post Form with data
		$.post('http://localhost/wordpress/wp-admin/admin-ajax.php',
		{action: 'ArrDep_Submit', formdata: formdata},
		function(data){
			infoPanel.html('<p class="ajax-success" >@'+data.user+'@</p>');
		}, 'json');
		return false;			
	});

 

سوال 6 سال قبل در تالار برنامه نویسی توسط tomcat89 (0 امتیاز)
ویرایش 6 سال قبل توسط Saeed Zarinfam

سوال های مشابه

0 رأی
2 جواب میانگین بازدید روزانه 1.272,581 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.1262 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.3139 بازدید
سوال 1 سال قبل در تالار برنامه نویسی توسط keynet (0 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.621,237 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.18444 بازدید
سوال 6 سال قبل در تالار برنامه نویسی توسط shamstabrizi (505 امتیاز)
0 رأی
0 جواب میانگین بازدید روزانه 0.28351 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.18295 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.32530 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.11206 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.26635 بازدید
کانال تلگرام جواب یاب
...