使用JQuery从post()接收响应

时间:2011-07-22 02:51:38

标签: php javascript jquery ajax post

我有一个脚本使用Ajax(POST方法)通过普通的Javascript工作。 现在我正在尝试学习JQuery,因为它似乎更容易,但我对请求的响应有问题

$.post('ajax/wrapper.php', {'desc':$('#description').val()},
        function(data){
            $('#something').html(data);
        });

当我这样做时,请求已成功发送。我可以看到我的数据库上的更改,但响应没有显示在div#something中。 我也试过

...
   $('#something').html($(data));
...

提前致谢

5 个答案:

答案 0 :(得分:0)

你也可以这样试试

var jqxhr = $.post("ajax/wrapper.php",{desc:$('#description').val()}, function(data) {
      alert("success");
    });

显示success回调

中的数据
jqxhr.complete(function(data){
  $('#something').html(data);
});

答案 1 :(得分:0)

您可以使用$ .load

$("#something").load('ajax/wrapper.php', {'desc':$('#description').val()} );

参考:http://api.jquery.com/load/

答案 2 :(得分:0)

  

注释掉以下行:header(“Content-type:text / xml; charset = iso-8859-1”)

请参阅this document中的jQuery.ajaxdataType参数。您应该返回带有text / html MIME类型的HTML,或者将dataType参数设置为'html':

$.ajax('ajax/wrapper.php', {
    data: {'desc':$('#description').val()},
    dataType: 'html',
    type: 'POST',
    success: function(data){
        $('#something').html(data);
    }
}).then(console.log); // debug

第一个是可取的,因为你真的要返回HTML,而text / html是正确的MIME。

答案 3 :(得分:0)

试试这个:

$.post('ajax/wrapper.php', {'desc':$('#description').val()},
        function(data){
            $('#something').html(data);
        }, "html");

答案 4 :(得分:-1)

尝试:

$('#something').html($.ajax({
  type: "POST",
  url: "ajax/wrapper.php",
  async: false
 }).responseText)

http://api.jquery.com/jQuery.ajax/