javascript - 前端该怎么获取数据?
阿神
阿神 2017-04-10 15:55:05
0
6
470

是这样的,我需要在我的页面上增加一个战队系统,大概涉及的内容有加入战队,查询战队,用户查询等等.

关于加入战队功能的实现思路:
当加入战队时,给服务器发送一个加入战队的请求,然后

  1. 服务器能及时的返回相应,告诉我请求已经成功(这种功能是不是用到websocket)

  2. 服务器会等到我再次刷新页面的时候,才在页面上显示是否加入战队成功

我觉得第一种方法更适合web应用,但是我想写的网页并不算是web应用,因为我觉得用户发送加入战队的请求后,可能就关闭我的网页去做别的事了,所以这种及时返回消息的功能可能不适合我的页面

所以我选择第二种思路来写网页
现在的问题是,当用户加载网页的时候,我的战队系统该怎么获取相关信息呢(比如,战队系统得知道我是否加入了战队,我的用户id)?

目前想到的思路有两个:
1 当页面加载后,用js去解析html页面的结构,从中分析出需要用到的数据,例如

测试用户 已经加入的战队测试战队

这样通过js一解析,我就知道当前用户的状态

2 当页面加载完成后,用ajax发起请求,获取用户的相关数据

我总觉得第二种方法不是很好,但是也觉得第一种方法怪怪的,所以想知道合适的做法是什么.

这个是战队系统的截图

阿神
阿神

闭关修行中......

全員に返信 (6)
阿神

1)通过Ajax请求发送加入请求,在当前页面提示用户加入请求正在处理,等Ajax请求完成后告知用户结果
2)如果发送请求后用户关闭的页面,那么等第2次用户打开页面时,发送查询是否已经加入战队,如果已经加入(通过1发送的),那么提示用户已经加入,页面跳转到相应地页面,如果没有加入(可能压根就没有发送过加入请求,如同1之前的状态),那么页面显示提示用户加入的页面

いいねを押す+0
    刘奇

    1.
    ①:如果是随机用户(游客)也可以加入的话,加入战队的时候 可以通过发送ip 到后端 后端对你这个ip做标记 说你加入了战队,在短时间内 你刷新页面都是通过发送ip去获取你的相关信息,但是ip 也是会变的,不会永久性能在一个地方登陆曾经注册的,
    ②:如果你是要固定的用户ID 给下次可以用的话 就需要先注册 然后再加入战队 这样主要你 触发加入战队,就算是关闭了电脑 下次登陆后 就能获取到你在哪个战队的信息,你需要给后端发送你的用户id

    2.如果只是单纯加入战队并且显示加入成功与否的话 这种功能不需要用到websocket,这里ajax 就能实现,而且一般都是聊天系统才用得到websoket(web端和服务器端需要实时交互信息) ,

    いいねを押す+0
      刘奇

      建议你先读读HTTP权威指南
      你需要补充很多知识

      いいねを押す+0
        大家讲道理

        这个问题在你给服务器发送加入战队请求的时候post用户id给服务器!然后服务器处理这个id和加入战队请求后给数据库写入战队数据!你下次打开的时候再获取战队数据就可以了!

        いいねを押す+0
          伊谢尔伦

          黯葉篂讖(这名字是念暗夜星谶吗www)说的对。

          你的需求接近“私信系统”:不要求即时性,刷新页面就能获得“消息”(就是加入战队的情况“)。

          我的解决思路是这样的:每次加载页面,向服务器ajax“加入战队”的处理结果。

          1. 如果有,输出。然后用户确认之后,告诉服务器“已阅”,服务器就把这个处理结果从数据库中删掉。

          2. 没有处理结果?那就没啥事了…

          ps.利用javascript里的setInterval函数,可以自定义向服务器ajax的间隔…比如说每秒钟都看看有没有新的处理结果。其实第二种方法并没有那么“不好”…

          题外话:

          读了你的思路,我发现了一个问题:用户信息和战队信息居然不是一起拿到的…这对我来说稍微有点不可思议…如果我写后端代码的话一定会把这两个东西绑一起,一次性用sql查出来,发送给客户端…

          いいねを押す+0
            黄舟

            不就是个增删改查吗?别自己把自己搞复杂了。还websocket,我囧。。先把http搞懂了。。

            いいねを押す+0
              最新のダウンロード
              詳細>
              ウェブエフェクト
              公式サイト
              サイト素材
              フロントエンドテンプレート
              私たちについて 免責事項 Sitemap
              PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!