I am having some issues with the jQuery Ajax function and PHP.
I am checking the existance of the nav key in the $_REQUEST variable in PHP with code such as this:
if ($_REQUEST['nav']) {
// do something
} else {
echo 'Please specify NAV.';
}
However the above expression never evaluates as nav is never passed to it and always outputs ‘Please specify NAV.’
console.log('paramList: ' + paramList);
$.ajax({
type: 'POST',
url: '/admin/nav_builder/edit.php?act=save&nav_id=<?php echo $nav_id; ?>',
data: {'nav':paramList},
dataType: 'json',
error: function(xhr, err) {
loadLayout();
hideLoader();
hideLoaderPalette();
},
success: function(data){
$('.errorMsg').html(data.html);
hideLoader();
hideLoaderPalette();
}
});
Using the Firefox Firebug plugin I can see that paramList does indeed hold a value, this is:
paramList:
{“section0”:{“elem0”:{“nav_palette”:”text”,”nav_name”:”fdgfdgdfg”,”nav_url”:””},”elem1″:{“nav_palette”:”category”,”c_id”:”226″}}}
I can’t see for the life of my why nav is not being passed to the URL provided to the ajax function.
Try to print first if the “nav” parameter if it has a value.
The other one is that you have used two method in one request.
Just try the following.