Javascript & PHP ajax error: "Undefined array key"

Javascript & PHP ajax error: "Undefined array key"

几天来我一直面临 PHP 找不到我的索引的问题。

我试过的:

目标

我想在 SQL 服务器上使用 PHP 保存我用 (cropper.js) 裁剪过的图像。

我的代码:

OnSetData.js

canvas = cropper.getCroppedCanvas({
  width:700,
  height:700
});

canvas.toBlob((blob) => {
  url_img = URL.createObjectURL(blob);
  //url_img = blob:https://localhost/a37a7cd8-ad48...
  $.ajax(
  {
      url:'assets/php/PHPCreate.php',
      type: 'POST',
      data: {'image':url_img}, 
      success:function(output) {
        console.log('Upload success: ' + output);
        //Upload sucess: <output is empty>
      },
      error() {
        console.log('Upload error');
      },
    });
  }, 'image/png');

PHPCreate.php

if (isset($_POST['save_submit'])) 
{ 
  $data = $_POST["image"];
  //Warning: Undefined array key "image" in ..\assets\php\PHPCreate.php on line ..
  echo($data);
}

create.php

<link  href="assets/assets/cropperjs-main/dist/cropper.css" rel="stylesheet">
<script src="assets/assets/cropperjs-main/dist/cropper.js"></script>
    
<script src="assets/js/jquery.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/js/OnSetData.js"></script>

<?php
  include './assets/php/PHPCreate.php';
?>
.
.
.
.
<form id="formUpload" action="" method="post" class="form-inline" enctype="multipart/form-data">

  <button class="btn btn-primary text-uppercase" role="button" name="save_submit" type="submit">Save</button>

</form>

我想你会在浏览器中打开 create.php

create.php 有一个表单将“save_submit”作为新请求发送给 izself 所以 create.php 将再次打开,但这次用“save_submit”,没有别的,所以是的,没有图像,这是正确的

现在让我们看看 OnSetData.js: 它使用“图像”向 PHPCreate.php 发出单独的请求,但没有“save_submit”,因此 PHPCreate.php 将不执行任何操作

清除:

  • 表单中的按钮将进行站点导航
  • OnSetData.js 将自行提出请求

两个请求分别处理