سلام
یه فایل 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;
});