Ajax在localhost上发布但在VPS主机上没有发布

时间:2016-09-30 10:18:27

标签: javascript php jquery ajax plugins

我已经多次面对这个问题我已经搜索了整个互联网修复了我的php.ini甚至是ngnix.confg文件

请告诉我代码是否有问题

我编辑了Cropper Plugin,不能下载,而是替换当前图像。 所以我做了什么,我使用ajax帖子来做到这一点。 PS:Ajax正在发布大量数据,因为它是一个画布,这整个过程在localhost上工作正常但不在服务器上工作。整个网站都在laravel上,但这段代码是在本机php上。 我还发现,如果图像很小,那么它工作正常,如果图像很大,那么它就无法在服务器上运行。

main.js文件中的AJAX代码

$('.docs-buttons').on('click', '[data-method]', function () {
var $this = $(this);
var data = $this.data();
var $target;
var result;

if ($this.prop('disabled') || $this.hasClass('disabled')) {
  return;
}

if ($image.data('cropper') && data.method) {
  data = $.extend({}, data); // Clone a new one

  if (typeof data.target !== 'undefined') {
    $target = $(data.target);

    if (typeof data.option === 'undefined') {
      try {
        data.option = JSON.parse($target.val());
      } catch (e) {
        console.log(e.message);
      }
    }
  }

  if (data.method === 'rotate') {
    $image.cropper('clear');
  }

  result = $image.cropper(data.method, data.option, data.secondOption);

  if (data.method === 'rotate') {
    $image.cropper('crop');
  }

  switch (data.method) {
    case 'scaleX':
    case 'scaleY':
      $(this).data('option', -data.option);
      break;

    case 'getCroppedCanvas':
      if (result) {
        var temp =  $(' #image').attr('src');
        jQuery.ajax({
           url: '../../cropper/demo/save.php',
           type: 'POST',
           data: {
               data: result.toDataURL('image/jpeg'),
               name: temp,

           },
           complete: function(data, status)
           {
               console.log(data.responseText);
               if(status=='success')
               {             
                    $('#image').cropper("replace", temp);
               }
               else
                {
                    alert('Error has been occurred');
                }
           }
        });
      }
      break;
  }

  if ($.isPlainObject(result) && $target) {
    try {
      $target.val(JSON.stringify(result));
    } catch (e) {
      console.log(e.message);
    }
  }

}
});

save.php(将图像存储在服务器上)

<?php
$based64Image=substr($_POST['data'], strpos($_POST['data'], ',')+1);

$fileName='';
$fileName = substr($_POST['name'], 34);

$image = imagecreatefromstring(base64_decode($based64Image));


if($image != false)
{
    if(!imagejpeg($image,"..\..\images\image\\".$fileName))
    {
    //          fail;
    }
}
else
{
  //          fail;
}

?>

请帮助谢谢

1 个答案:

答案 0 :(得分:0)

将以下内容添加到您的conf文件

fastcgi_buffers 16 16k; 
fastcgi_buffer_size 32k;

有关详细信息和理解,请阅读 https://gist.github.com/magnetikonline/11312172#determine-fastcgi-response-sizes

这些结果可能不准确,因此建议您阅读以确保正确配置