Reputation: 11302
I have a javascript function that gathers two arrays, imagepaths and captions. I want to send with PHP's post to the same page $_SERVER['PHP_SELF'], but I really don't know where to start..
PHP:
if (isset($_POST['Submit'])) {
$edit_photos->update_xml($edit_photos->album_id, $_POST['src_arr'], $_POST['caption_arr']);
// prevent resending data
header("Location: " . $_SERVER['PHP_SELF'] . "?ref=" . $ref);
}
JS:
function getImgData() {
var imgData = { 'src_arr': [], 'caption_arr': []};
$('.album img').each(function(index){
imgData.src_arr.push($(this).attr('src'));
imgData.caption_arr.push($(this).attr('alt'));
});
return imgData;
};
HTML:
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] . "?ref=" . $ref; ?>">
Upvotes: 2
Views: 4103
Reputation: 2023
Here is a jQuery POST request:
$('form').submit(function() {
$.post('ImageProcessor.php',
{ imgdata: getImgData() },
function() {
alert('Processed Images');
});
return false;
});
This will over-ride default submit behavior because of the return false
Here is the PHP to process the post:
if (array_key_exists('imgData', $_POST)) {
$imgData = json_decode($_POST['imgData']);
$edit_photos->update_xml($edit_photos->album_id, $imgData['src_arr'], $imgData['caption_arr']);
}
This is just an ajax POST request.
Upvotes: 0
Reputation: 91792
I´d say the procedure would be something like:
$_POST
in php and unserialize the objects and arrays.Upvotes: 1