我遇到了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")
这样的基本代码也是如此;成功不会触发。
答案 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。这导致根本不能解雇成功函数。