今日头条 焦点资讯 营销之道 企业报道 淘宝运营 网站建设 软件开发 400电话
  当前位置: 首页 » 资讯 » APP开发 » 正文

html5开发的移动web app如何连接服务器数据库交互信息?

放大字体  缩小字体 发布日期:2017-04-24  浏览次数:312  【去百度看看】
核心提示:作者:知乎用户链接:https://www.zhihu.com/question/26777760/answer/34044331来源:知乎著作权归作者所有。商业转载请联系作者
 作者:知乎用户
链接:https://www.zhihu.com/question/26777760/answer/34044331
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

首先,在你的例子里使用ajax方式访问服务器是可行的,只要你的服务器端返回的response包含正确的Access-Control-Allow-Origin这条header。详情参见HTTP access control (CORS)

然后,关于实时聊天的需求,可能的解决方案除了long-poll什么的之外,大约有以下两种:
1、利用先进的WebRTC
WebRTC是一种新的Web标准,用于实现Web环境中的实时点对点通信,可以传输数据、语音和视频。有一些第三方javascript库可以方便的支持WebRTC,比如PeerJS - Simple peer-to-peer with WebRTC。但是!可惜的是,目前在“相对先进”的移动端的浏览器世界中,也只有Android Chrome 37支持它。想要利用它的优秀特性,可能只能再等等。
参见:Can I use... Support tables for HTML5, CSS3, etc
2、自行通过WebSockets实现
WebSockets是一种为实时双向数据传输建立的Web传输协议,它使得服务器端能够主动push数据到浏览器端。WebSockets目前在移动端的支持要略好一点,iOS 7以上和Android 4.4以上都可以支持。如果使用Crosswalk打包,应该可以在更多版本的Android系统上使用。基于WebSockets的第三方库也不少,比如binaryjs.com/
参见:Can I use... Support tables for HTML5, CSS3, etc

当然,如果想要使用最传统和古老的纯HTTP请求方式,也不是不可以实现。浏览器端以固定的频率向服务器请求数据,可以在一定程度上模拟实时通信。但是这样的缺点也十分明显,资源开销过大,而且很难实现真正的实时(其实也是资源开销……)。其他的,Java applets和Flash在移动端可能不是很可行的选项。

所以说,如果想要实现一个类似QQ群的应用,在移动端浏览器环境中目前可能的最佳选择大约是基于WebSockets的方案。
一:服務器 設置header
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Headers:X-Requested-With'); header('Access-Control-Allow-Methods:GET,POST,OPTIONS,DELETE'); 

二:聊天可用html5 裡的websocket ,想省事直接用 learncloud 提供的雲API 很好用。 LeanCloud

這裡是它的介紹 LeanCloud


 
 
 
[ 资讯搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 | 排名推广 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅 | 吉ICP备11001726号-6
企业800网 · 提供技术支持