2

我对 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"); 成功未触发。

4

3 回答 3

2

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

特别是需要 json 数据的方法,严格验证响应,如果有任何无效,它什么也不做,没有错误,没有警告,没有异常。

当您的回调函数没有运行时,您应该怀疑您的响应不正确。

// Türkçeözet

uzun lafın kısası dönüş değerinde bir terslik varsa dönüş fonksiyonu çalışmayacaktır。sunucudan gelen değerleri iyice kontrol etmekte fayda var. jquery dönüş değerinde veya dönüş fonksiyonunda bir hata olursa seni uyarmadan işi sonlandırıyor。

于 2011-05-08T15:43:54.267 回答
2

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

有关更多信息,请参阅此相关问题:

如何使用 jQuery 在不同的端口上发送 AJAX 请求?

我很惊讶 AJAX 调用会 POST/GET 到服务器,(我可以通过查看服务器日志来验证)但从未读取过响应。我原以为不允许发送和接收。

于 2012-03-05T21:45:18.440 回答
1

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

于 2014-05-14T15:32:08.237 回答