【问题标题】:ajax javascript 500 errorajax javascript 500 错误
【发布时间】:2015-03-31 08:33:08
【问题描述】:

这是一个简单的多文件上传的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));

【问题讨论】:

  • HTTP '500' 错误是服务器本身的错误,因此您的 AJAX 帖子可以正常到达服务器 - 错误在于响应。
  • 你建议我如何解决它?
  • 是的,@Widor 说的。检查您的博客,解决问题(并通过在浏览器中正常打开它来测试 url),当它工作时再次返回您的 javascript 片段。

标签: javascript ajax


【解决方案1】:

giorgio 帮助我走上正轨 我在我的php中使用$uploaded = [];,如果我没记错的话,这是旧PHP,正确的方法是$uploaded = array();我正在使用大约5个数组,我猜XAMP非常宽松,它会运行我给的任何东西它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2016-10-17
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    相关资源
    最近更新 更多