php - $_post的返回函数中能否操作html元素?
巴扎黑
巴扎黑 2017-04-11 09:00:06
[PHP讨论组]

我的问题:

 $.post(url, function(result)
        {
            if (result=="1")
            {//这个if语句能进入,已测试成功
                $(this).parents('.p1').remove();//问题所在?
                return false;
            }
        }, 'json');
        
 

: $(this).parents('.p1').remove(); 放在$_post之外也能测试成功。

为什么放在$_post中无法测试成功?

巴扎黑
巴扎黑

全部回复(5)
PHP中文网

$(this)作用域的问题,可以这样

var _this = $(this);
 $.post(url, function(result)
        {
            if (result=="1")
            {//这个if语句能进入,已测试成功
               _this.parents('.p1').remove();
                return false;
            }
        }, 'json');
PHPz

这个是问题是不管POST,GET,AJAX 你往服务器传值,限定了返回值的类型,如果返回不是json类型,接收不到 但是放在外面是可以执行的,就是说 你在服务器端的代码不是 json_encode() 返回类型的。

PHPz

经典的 this 的问题么

伊谢尔伦

看具体报错信息,$(this)作用域肯定有问题。
如果result的值是1那肯定没问题,如果是json或其他,最后的判断肯定也要改。

迷茫

首先 $(this) 这个作用域有问题 可以定义在 post之外 第二个 如果ajax放回时间过长 页面中没有效果 可以改为同步ajax 体验会更好

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号