Jquery帖子>成功不会触发

时间:2011-04-14 11:20:07

标签: javascript jquery jquery-post

我遇到了jquery的post api问题。

   $(".MGdi").click(function () { 
      id=$(this).attr("rel")
      $.post( 'Mdeger.asp?cmd=MG', { id: id, drm: $(this).html()} ,
      function( data ) {
          var $response=$(data);
               var snc = $response.find('#snc').html();
          alert(snc);
      },"application/x-www-form-urlencoded");  
    });

另一种方式是:

$(".Pasif").click(function () { 
  id=$(this).attr("rel")
  $.post( 'Mdeger.asp?cmd=Pasif', { id: id, drm: $(this).html()} ,
  function( data ) {
      $(this).html(data);
      alert(data)
  },"application/x-www-form-urlencoded");
});

服务器端的一切正常,但客户端的成功功能无效。 甚至像alert("hoho")这样的基本代码也是如此;成功不会触发。

3 个答案:

答案 0 :(得分:2)

这通常发生在无法解析响应时。你应该使用firebug或类似的调试工具检查响应。

尤其是需要json数据的方法,严格验证响应,如果有任何无效,它就什么都不做,没有错误,没有警告,没有例外。

当您的回调函数未运行时,您应该怀疑您的回复不正确。

//Türkçeözet

uzunlafınkısasıdönüşdeğerindebirterslikvarsadönüşfonksiyonuçalışmayacaktır。 sunucudangelendeğerleriyyicekontrol etmekte fayda var。 jquerydönüşdeğerindeveyadönüşfonksiyonundabir hata olursa seniuyarmadanizisonlandırıyor。

答案 1 :(得分:2)

我也有这个问题。事实证明我正在对同一个域进行AJAX调用,但是在另一个端口上,这在Javascript中是不允许的(出于安全原因)。

有关详细信息,请参阅此相关问题:

How do I send an AJAX request on a different port with jQuery?

我很惊讶AJAX调用POST / GET到服务器(我能够通过查看服务器日志来验证)但是从未读过响应。我原以为发送和接收都不会被禁止。

答案 2 :(得分:1)

我也有这个错误,这是一个愚蠢的问题:我将dataType设置为" json"在我的JS中,但调用的页面返回纯HTML。这导致根本不能解雇成功函数。