当前位置: 首页 > news >正文

学生做的网站成品/信息流广告代运营

学生做的网站成品,信息流广告代运营,网络推广属于什么服务,网站将要准备建设的内容有哪些Windows8项目中涉及到下载数据和上传数据。针对小的数据使用的是WinJS.xhr(),而针对大的文件,不方便使用post方式直接上传的文件都使用BackgroundTransfer进行传输。因为Windows8 App虽然后台运行程序也是一个类似IE的进程,但是app和网页在开…

Windows8项目中涉及到下载数据和上传数据。针对小的数据使用的是WinJS.xhr(),而针对大的文件,不方便使用post方式直接上传的文件都使用BackgroundTransfer进行传输。因为Windows8 App虽然后台运行程序也是一个类似IE的进程,但是app和网页在开发中还是有一些不同,所以以下有两点总结。

 

1.默认Ajax请求,相同的url会缓存。

WWAHost.exe也会像IE一样,对相同的url返回的数据进行缓存。一般app都会进行CRUD操作,所以当我们进行操作完之后,我们必须更新数据。但是在一开始我更新了数据,但是界面始终不更新。

var rand = Math.random(); //为了演示,这里直接用了一个随机数,实际开发中最好以当前时间为种子的随机数,防止缓存 WinJS.xhr({ url: "http://localhost:50623/Default.aspx?t="+rand }) .done(function complete(result) { //do something. }, function error(result) { console.log(result.responseText); });

 

这样我们每次请求default.aspx返回的数据应该是最新的。ASP.NET推出Web API之后,后台最好不要写.aspx页面或者hanler,最好都使用Web API,这样传统的web应用,然后mobile app和Windows8 app都可以调用相同的数据服务接口。相对而已比后台使用WCF还是要方便一些。

 

2.Ajax的异步。在Windows8 App开发中,这一点开发人员始终要牢记,否则代码出了问题,我们根本无法定位到代码哪里出错了。原先代码如下:var userInfo = null; function ShowUser() { var userid = 10001; GetUserInfoByAjax(userid); showUserInfo(); } function GetUserInfoByAjax(userid) { var random = Math.random(); WinJS.xhr({url:"http://localhost:50623/userinfo.aspx?userid="+userid+"&t="+rand}) .done(function complete(result) { //set the userInfo. userInfo = JSON.parse(result.responseText); }, function error(result) { Console.log(result.responseText); }); } function showUserInfo(){ document.getElementById("username").innerHTML=userInfo.username; document.getElementById("hometown").innerHTML=userInfo.hometown; }

 

自己一股劲的在调试,但是界面一直不显示username和hometown,断点显示userInfo为null。但是在GetUserInfoByAjax()方法体里面userInfo确实取得了服务器返回的数据。因为前端和后台代码都是自己写,所以有时真不确定是哪头的代码出了问题,所以有时单元测试特别的重要。这里又要提到Web API,等项目结束之后把后台的代码重构为web api出来。

 

其实这个问题新手很容易范,因为GetUserInfoByAjax(userid);在showUserInfo(); 之前,所以肯定是先获得了userInfo,但是为什么在showUserInfo()里面的userInfo为null。我在写代码时,把Ajax异步请求的概念忘了,WinJS.xhr()发送请求之后不能马上获得数据,这就是异步。所以在代码执行到showUserInfo()内部时,可能userInfo还没有重新赋值,所以还是null。旁边的同事帮我看了一眼就发现我的错误做法。

 

在获得Ajax数据之后要执行的事情全部要放到Ajax成功方法体内,代码如下:function GetUserInfoByAjax(userid) { var random = Math.random(); WinJS.xhr({url:"http://localhost:50623/userinfo.aspx?userid="+userid+"&t="+rand}) .done(function complete(result) { //set the userInfo. userInfo = JSON.parse(result.responseText); showUserInfo(); }, function error(result) { Console.log(result.responseText); }); }

 

程序运行正常。从以上来看,我们在web开发过程中,很多问题都是由于我们对基础概念掌握的不好,或者忽略了最基本的概念,等到程序代码一多,问题就显得非常多,并且自己经常处在“不识庐山真面目,只缘身在此山中”。一直在自己写的错误代码里面打转。

http://www.jmfq.cn/news/5138479.html

相关文章:

  • 可以做请柬的网站/百度风云榜各年度小说排行榜
  • 供应链公司是什么行业/seo优化公司哪家好
  • 摄影 网站 模板/推广方案框架
  • python 可以做网站吗/平台搭建
  • 网站设计培训/seo工作是什么意思
  • 阿里云网站主体变更怎么做/新闻发稿平台有哪些?
  • 厦门网站建设报/seo属于技术还是营销
  • 网站开发就业前景分析/百度软件中心下载
  • 模板网站制作时间/2024新闻热点摘抄
  • 代理分佣后台网站开发/潍坊关键词优化排名
  • 免费自助音乐网站申请/网页制作平台有哪些
  • 网站怎么做sem优化/cpc广告点击日结联盟
  • 焦作网站制作-焦作网站建设-焦作网络公司-维科网络/最新国际新闻大事件
  • 中文网站建设英文网站建设/手机建站教程
  • 长春电商网站建设哪家好/杭州网站seo
  • 商务网站建设工程师是/优化流程
  • 淮安做网站app/站长工具排名分析
  • 书签制作 小学生的手工书签/seo如何优化
  • 做歌厅广告在哪个网站做好/seo搜索推广费用多少
  • 网站建设公司前景/重庆百度seo公司
  • 宁波网站排名方法/自媒体怎么赚钱
  • 沈阳的网站建设/长春seo关键词排名
  • 济南长兴建设集团有限公司网站/天津百度关键词推广公司
  • 天津网站开发贴吧/百度在线使用
  • 球赛投注网站开发/响应式网站模板的优势
  • 帝国做视频网站/外贸企业网站推广
  • 男子和美女做bt网站/深圳seo论坛
  • 做一家拍卖网站需要什么资质/色盲测试图数字
  • 网站icp备案代理/下载百度app到桌面
  • html格式的网站地图/万网域名查询注册商