Hi i have this simple code:
var datastring="123";
$.ajax({
url: 'actualizarimagen.php',
type: 'post',
dataType: 'text',
data: datastring,
cache: false,
success: function(response){
$('.msg1').html(response);
},
error: function(response){
$('.msg1').html(response);
}
});
And in actualizarimagen.php:
$desc_larga = print('<pre>') & print_R($_POST) & print('</pre>');
$insertSQL = sprintf("INSERT INTO prueba (texto) VALUES ($desc_larga)");
I get the success message, but in the database always saves 1. I tried changing everything, the dataType, the success, error, complete functions but it doesn’t work. I was searching but any answers couldn’t help me.
Thanks.
Edit: Added response
Your
datastringshould contain data encoded asapplication/x-www-form-urlencodede.g.:
var datastring="foo=123";It is better not to pass a string to jQuery at all. Pass it an object and let it handle the encoding for you.
e.g.:
data: { "foo": "123" }