Gre*_*g L 2 javascript php ajax wordpress jquery
我正在使用WordPress,并且在发送之后无法确定如何处理来自Ajax的序列化数据.我在这个网站上看到parse_str了我需要的内容,但我不确定如何使用它.
这是表单提交的jQuery
jQuery( document ).ready( function( $ ) {
$( '#log_data' ).submit( function( event ) {
event.preventDefault();
console.log( $( this ).serialize() );
var data = $(this).serialize();
action = 'my_submit_log_action';
$.post(
ajaxurl,
data,
function ( response ) {
if ( ! response.success ) {
alert( 'Failure!' );
}
alert( 'Success!' );
}
);
});
});
Run Code Online (Sandbox Code Playgroud)
因为这是在WordPress中,我必须传递一个动作,以便WordPress知道将这些数据传递给哪个函数.我不确定我是否正确行动(见上文).
第二部分是PHP,这是我不明白的.如何获取序列化数据并将其发布到数据库?
add_action('wp_ajax_my_submit_log_action', 'my_submit_log_action');
add_action('wp_ajax_nopriv_my_submit_log_action', 'my_submit_log_action');
function my_submit_log_action() {
global $wpdb;
$user_id = $_POST['user_id'];
$length = $_POST['length'];
$ground = $_POST['ground'];
$date = $_POST['date'];
$notes = $_POST['notes'];
$wpdb->insert('wp_jo_plugin_options', array (
'user_id' => $user_id,
'length' => $length,
'ground' => $ground,
'date' => $date,
'notes' => $notes,
) );
die();
}
Run Code Online (Sandbox Code Playgroud)
小智 5
提交后序列化表格数据
<input type="hidden" value="<?php echo base64_encode(serialize($_POST)); ?>" name="posted" />
Run Code Online (Sandbox Code Playgroud)
然后在ajax中通过POST发送此数据.或者你可以用这个--------
$( "form" ).on( "submit", function( event ) {
event.preventDefault();
console.log( $( this ).serialize() ); //serialize form on client side
var pdata = {
action: "ajaxFunction",
postdata: $(this).serialize()
}
$.post( "<?php echo admin_url('admin-ajax.php'); ?>", pdata, function( data ) {
$( ".result" ).html( data );
});
});
Run Code Online (Sandbox Code Playgroud)