嗨,我有这个简单的代码:

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);
         }

    });


在actualizarimagen.php中:

$desc_larga = print('<pre>') & print_R($_POST) & print('</pre>');
$insertSQL = sprintf("INSERT INTO prueba (texto) VALUES ($desc_larga)");


我收到成功消息,但在数据库中始终保存1。我尝试更改所有内容,包括dataType,成功,错误,完整功能,但是它不起作用。我在搜索,但是任何答案都帮不了我。

谢谢。

编辑:添加了响应

最佳答案

您的datastring应包含编码为application/x-www-form-urlencoded的数据

例如:var datastring="foo=123";

最好不要将任何字符串都传递给jQuery。向其传递一个对象,并让它为您处理编码。

例如:data: { "foo": "123" }

10-07 12:55