关于 ajax - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lgctc123
V2EX    PHP

关于 ajax

  •  
  •   lgctc123 2015-04-27 18:10:06 +08:00 2968 次点击
    这是一个创建于 3895 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我使用ajax删除数据,删除成功返回1,js判断返回值为1的话,我就重载当前div,实现页面无刷新删除数据,
    success:function(data){
    if (data.tag == 0){
    alert('删除失败');
    } else {
    $('#detail').xxx(yyy);
    }
    } 请问$('#detail').xxx(yyy);这句代码该怎么写才能直接重载id为detail的div,我不想在php中再发送一遍数据过来,想直接重载,能实现吗?

    11 条回复    2015-04-27 19:24:31 +08:00
    chairuosen
        1
    chairuosen  
       2015-04-27 18:15:55 +08:00
    数据跟着这次结果一起发过来
    lgctc123
        2
    lgctc123  
    OP
       2015-04-27 18:20:17 +08:00
    @chairuosen 我就是不想再发送一次数据,我只是想刷新这个div。如果我把这个div的数据单独写在一个php文件里面,然后用$('#detail').load('xxx.php')是不是能实现?
    b821025551b
        3
    b821025551b  
       2015-04-27 18:21:00 +08:00   1
    detail是个啥?
    $('#detail').html(data.yyy);
    $('#detail').val(data.yyy);
    Biwood
        4
    Biwood  
       2015-04-27 18:26:57 +08:00   1
    必然会有两次请求,第一次请求是用来完成删除操作,第二次请求是用来获取重载的数据,这有什么不妥的?

    你要知道,jQuery里面的.load(url)不过是ajax的一种形式而已。
    Lucius
        5
    Lucius  
       2015-04-27 18:40:08 +08:00   1
    @b821025551b

    LZ所说的是.load()来重载整个#detail下面的DOM区域

    用.load()不想发送一次数据是不可能的。.load() 就是ajax方法

    LZ想表达的意思是 “不想用接口返回两次数据”。那当然可以啊

    发送了2次
    第一次是返回接口的数据
    第二次是直接用.load() 重新访问页面重载 并没有访问接口

    请原谅我语文老师死的晚。。理解了LZ的意思
    chairuosen
        6
    chairuosen  
       2015-04-27 18:41:02 +08:00   1
    @lgctc123 你看明白,我写的是数据跟着"这次"结果一起发过来。
    从你发起请求开始,到接受数据结束。你只有一次拿数据的过程。你不想再发,那只能利用上面这一次。
    Lucius
        7
    Lucius  
       2015-04-27 18:42:51 +08:00   1
    @chairuosen

    按照我的理解 LZ用$('#detail').xxx(yyy);这个是想用.load() 加载一块复杂的DOM区域
    Lucius
        8
    Lucius  
       2015-04-27 18:43:20 +08:00   1
    @chairuosen 而并不只是一条数据,还带有DOM结构
    repus911
        9
    repus911  
       2015-04-27 18:44:30 +08:00   2
    @chairuosen 的方法应该可以
    或者你是删除操作的话直接干掉那个元素不就行了
    lgctc123
        10
    lgctc123  
    OP
       2015-04-27 18:53:27 +08:00
    @repus911 对,我刚反应过来,我删除直接用remove就行了,刚开始还一直想着怎么重新加载div那块区域。请原谅我的无知,毕竟是新手
    Tink
        11
    Tink  
    PRO
       2015-04-27 19:24:31 +08:00 via iPhone
    要重载一次dom必然得走一次php啊,要不然就用一楼的方法
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1034 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:46 PVG 02:46 LAX 10:46 JFK 13:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86