我对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")这样的基本代码;成功也不会触发。
发布于 2011-05-08 23:43:54
当无法解析respond时,通常会发生这种情况。您应该使用firebug或类似的调试工具检查响应。
特别是那些需要json数据的方法,严格验证响应,如果有任何无效的东西,它就什么都不做,没有错误,没有警告,没有异常。
当你的回调函数没有运行时,你应该怀疑你的响应不正确。
// Türkçeözet
uzun lafın kııdönüşdeğerinde bir terslik varsa dönüşfonksiyonuçalışmayacaktır. sunucudan gelen değerleri iyice kontrolşvar.jquery dönüşdeğerinde veya dönüşfonksiyonunda bir hata olursa seni uyarmadan işi sonlandırıyor.
发布于 2012-03-06 05:45:18
我也遇到过这个问题。原来我是在对同一个域进行AJAX调用,但在不同的端口上,这在Javascript中是不允许的(出于安全原因)。
有关更多信息,请参阅此相关问题:
How do I send an AJAX request on a different port with jQuery?
令我非常惊讶的是,AJAX调用将POST/GET发送到服务器(我可以通过查看服务器日志进行验证),但响应从未被读取。我本以为发送和接收都是不允许的。
发布于 2014-05-14 23:32:08
我也有这个错误,这是一个愚蠢的问题:我在我的JS中将dataType设置为"json“,但调用的页面返回的是普通的HTML.这导致根本不会触发成功函数。
https://stackoverflow.com/questions/5662424
复制相似问题