ajax javascript 500错误

时间:2015-03-31 08:33:08

标签: javascript ajax

这是一个简单的多文件上传的javascript。

这个javascript在我的开发服务器上运行没问题。但当我把它放在我的生产服务器上时,我在AJAX Post上得到500错误。这可能是因为我必须更多地编辑php.ini吗?还是有其他问题?

var app = app || {};

(function(o){
"use strict";

var ajax, getFormData, setProgress;

ajax = function(data){
  var xmlhttp = new XMLHttpRequest(), uploaded;

  xmlhttp.addEventListener('readystatechange', function(){
     if(this.readyState ===4){

        if(this.status===200){
           //console.log('here');
           uploaded = JSON.parse(this.response);
           if(typeof o.options.finished==='function'){
              o.options.finished(uploaded);
           }
        }else{
           if(typeof o.options.error ==='function'){
              o.options.error();
           }
        }            
     }
  });

  xmlhttp.upload.addEventListener('progress', function(event){
     var percent;
     if (event.lengthComputable ===true){
        percent = Math.round((event.loaded / event.total)*100);
        //console.log(percent);
        setProgress(percent);
     }
  });

  xmlhttp.open('post', o.options.processor);
  xmlhttp.send(data);
};
getFormData = function(source){
  var data = new FormData(), i;

  for( i=0;i<source.length;i=i+1){
     data.append('file[]',source[i]);
  }
  data.append('ajax',true);
  return data;
 };

 setProgress = function(value){
  if(o.options.progressBar !== undefined){
     o.options.progressBar.style.width=value? value + '%': 0; 
  }
  if(o.options.progressText !== undefined){
     o.options.progressText.innerText=value? value + '%': ''; 
  }
 };
 o.uploader = function(options){
  o.options = options;

  if(o.options.files!== undefined){
     ajax(getFormData(o.options.files.files));
  }
 };
}(app));

1 个答案:

答案 0 :(得分:0)

乔治帮助我走上正轨 我在我的php中使用$uploaded = [];,如果我没有弄错,这是旧的PHP,正确的方法是$uploaded = array();我正在使用大约5个数组,我猜XAMP是如此宽松,它将运行什么我曾经给它。