最近的文章列表

php(SplFileObject)+ajax导入大数据时产生的问题处理

遇到的问题就从先到后的一一说吧。

问题1 按照我最初的想法,先上传文件再读取文件。这里问题就来了,当文件较大的时候上传较慢,导致客户看到的操作一直处于等待状态,不人性化。

处理办法:我是这样做的,大神有更好的办法,求介绍。我先把文件上传上去,然后把文件存到一个特定的文件夹就叫 import吧   ,然后返回一个这个文件名字。这样就确保了文件是上传成功的。并且我可以在他返回名字的这一步用js  给客户一个提示。然后就是ajax去请求php读取文件,插入数据库。可是问题来了。

问题2 当我用ajax去请求php读取文件并插入数据库的时候,遇到

2014/9/5 Comments:
ajaxfileupload(php+ajax)实现图片文件上传功能实例

项目中常用的异步文件上传功能有几种,比较多见的如使用iframe框架形式,ajax功能效果(比如:JavaScript图片上传预览效果) ,以及flash+php功能,下面介绍ajax与iframe实现异步文件上传的功能的例子。

方法一,利用jquery ajaxfileupload.js实现文件上传

其实就是实现无刷新式的文件上传。可采用IFRAME文件上传原理。
实际上在用PHP上传文件时。。。只能用$_FILES形式,但是若我们只是单一的用JS方式取其ID,如<input id='img' type='file'>..document.getElementById('img').value或者jquery形式的$("#img")都是不能正真实际上传的(但是还是有很多人这样做,刚开始时我也是)。

2014/7/28 Comments:
jQuery ajax调用WCF服务(C#)实例

恩,在由瘦客户端转换成胖浏览器端的“潮流”下,必然要使用JavaScript调用后台的各种服务。

屌丝所维护的产品通信都是使用的WCF服务,因此必然要学习这样的内容。借用jQuery强大的库,使用JavaScript访问WCF服务非常简便。同事研究了一个breeze库,那么屌丝就来试验一下ajax。这里把实现简单地记录以便马克一下,以后忘了就看这篇日志来作弊。

一、更改WCF服务的配置

默认情况下,WCF服务是不允许使用HTTP请求来访问的。我们需要将WCF服务的配置文件(注意如果有其他启动WCF服务的项目应该修改该项目的app.config文件)修改,将serviceHostEnvironment节

2014/7/18 Comments:
ThinkPHP3.1新特性之对Ajax的支持更加完善IS_AJAX

ThinkPHP3.1版对AJAX的支持更加完善了,具体表现在:

1.判断AJAX方式改进

现在可以直接使用常量IS_AJAX来判断是否AJAX方式请求,用来取代之前的Action类的isAjax方法,优势是可以在任何代码里面进行判断。而Action类的error和success方法内置就支持对AJAX自动判断支持。

2.ajaxReturn方法完善

原来的ajaxReturn方法只能返回固定结构的数据,包括data、status和info索引信息,如果需要扩展额外的返回数据信息,只能通过ajaxAssign方法,而ThinkPHP3.1版本则改进了a

2014/7/4 Comments:
js三种方式获取XMLHttpRequest对象

获取XmlHttpRequest对象

代码如下:

//1
function getXMLHttpRequest() {
var xmlHttpReq;
try { // Firefox, Opera 8.0+, Safari
xmlHttpReq = new XMLHttpRequest();
} catch (e) {
try {// Internet Explorer
xmlHttpReq = new ActiveXObj
2014/6/13 Comments:
jquery ajax应用中iframe自适应高度问题解决方法

iframe自适应高度本身是很简单的方法,就是在页面加载完成后,重新计算一下高度即可。

代码如下:

代码如下:

//公共方法:设置iframe的高度以保证全部显示数据
//function SetPageHeight() {
//    var iframe = getUrlParam('ifname');
//    var myiframe = w
2014/4/15 Comments:
Ajax异步同步请求被IE缓存的问题解决方法(get方式)

折腾了半天,程序中使用jquery的load方法进行请求,很奇怪为啥第二次无法发送请求。百度了一把,谁知load是用get方式进行请求的,因此IE浏览器对

其进行缓存了。网上搜了很多解决方案,一大把,下面是我认为比较全面的解决方案。主要分为客户端解决和服务端解决。

1.客户端解决方案
IE访问策略:Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以

1: 在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数


2014/1/20 Comments:
优化请求 “开源节流” 心得

近期的开发涉及到考核系统,后台人员负责出题,而相应的用户则打开浏览器答题。早期的系统中,用户在考试开始的时候,试卷在浏览器中的展现完全依靠后端来渲染,使用struts生成整个页面,然后发送至浏览器,用户才能答题。这种模式的问题不言而喻,因为是一个考试系统,在考试开始的一瞬间,1000个用户同时点击“打开”按钮,服务器处理每一个用户的请求,再来生成一个成型的页面,这中间要消耗很多服务器的资源,效率十分低下,经常会导致五分之一的用户打不开考卷。

...
2012/5/11 Comments:
DOMContentLoaded事件

今天查看百度空间源代码,发现多了个util.js文件,打开看看。里面里面定义了addDOMLoadEvent。这是干什么用的?

仔细查看代码,发现在Mozilla添加了DOMContentLoaded事件,这个在以前一直没有用过。                    if (document.addEventListener)
...

2012/5/10 Comments:
ajax问题总结
在看文章前,先指定一个变量xhr,xhr代表ajax对象。测试浏览器:ie为ie6,firefox为2,其他的未测试。统称ie6为ie,firefox2为ff。基本的============================================1,最经典的就是ie下的缓存问题了。如果使用的是get,那么在ie下出现缓存问题。导致代码只执行一次。解决办法就是加时间戳或者随机数,使url变为唯一,这样就不会出现ie下的缓存问题了,或者改为post提交。xhr.open("get","xxxx.aspx?_dc="+new Date().getTime(),true);2,ajax对象属性的大小写问题,ajax对象常用属性,事件,方法大小写问题在w
2011/9/14 Comments: