Als ik de data verzend krijg ik een vreemde tekenreeks terug met de waardes.

price%5B1%5D%5B12,95%5D%


Dit is de jQuery

$(document).on('submit', '#prices', function(event) {
		event.preventDefault();
		var price = $("#price").serialize();
		var action 		= $('#save').text();
		$.ajax({
			'url': de url",
			'data':{todo:'wijzingen', price:price},
			'success': function(data) {
				alert(data);
			}			
		});
	});


Als ik de code aanpas in het gedeelte data naar

$(document).on('submit', '#prices', function(event) {
		event.preventDefault();
		var price = $("#price").serialize();
		var action 		= $('#save').text();
		$.ajax({
			'url': de url",
			'data': price,
			'success': function(data) {
				alert(data);
			}			
		});
	});


Krijg ik een mooie array terug met print_r.
Waarom krijg ik met bovenste code deze tekens te zien?
Dat heet URLencoding.
Dat moet je in de output dus terugvertalen met een speciale functie. En dan krijg je dit:
price[1][12,95]%
Als dit een aparte actie is (todo: wijzigen) zou ik dit sowieso naar een aparte action sturen, specifiek voor dit doel.

Het is voor het overzicht (en het in afzondering debuggen) handiger om dit soort acties (toevoegen, wijzigen, verwijderen et cetera) gescheiden te houden.

Reageren