我的问题:
$.post(url, function(result)
{
if (result=="1")
{//这个if语句能进入,已测试成功
$(this).parents('.p1').remove();//问题所在?
return false;
}
}, 'json');
注: $(this).parents('.p1').remove(); 放在$_post之外也能测试成功。
为什么放在$_post中无法测试成功?
$(this)作用域的问题,可以这样
这个是问题是不管POST,GET,AJAX 你往服务器传值,限定了返回值的类型,如果返回不是json类型,接收不到 但是放在外面是可以执行的,就是说 你在服务器端的代码不是 json_encode() 返回类型的。
经典的 this 的问题么
看具体报错信息,$(this)作用域肯定有问题。
如果result的值是1那肯定没问题,如果是json或其他,最后的判断肯定也要改。
首先 $(this) 这个作用域有问题 可以定义在 post之外 第二个 如果ajax放回时间过长 页面中没有效果 可以改为同步ajax 体验会更好