繁体   English   中英

Ajax图片上传失败,脚本未获得php isset函数

[英]Ajax image upload failure, Script doesn't get the php isset function

我一直在关注一些ajax上传教程,并且它工作正常。

这是我的工作方式,我在html中创建了这样的表单。

  <form id="submit_form" action="php-script/test_lates_statusbx-script.php" method="post" enctype="multipart/form-data"> <div class="form-group"> <label>Select Image</label> <input type="file" name="ui-is-status_is_photo_fl" id="image_file" /> <textarea name="status_is_text_ara"></textarea> <span class="help-block">Allowed File Type - jpg, jpeg, png, gif</span> </div> <input type="submit" name="is_status_forum_btn" class="btn btn-info" value="Upload" /> </form> <div id="image_preview"> </div> 

这是我的ajax代码

  $(document).ready(function(){ $('#submit_form').on('submit', function(e){ e.preventDefault(); $.ajax({ url:"php-script/test_lates_statusbx-script.php", method:"POST", data:new FormData(this), contentType:false, //cache:false, processData:false, success:function(data) { $('#image_preview').html(data); $('#image_file').val(''); } }) }); }); 

和我的PHP看起来像这样,

if(isset($_POST['is_status_forum_btn'])){
    echo $fileactuname = basename($_FILES['ui-is-status_is_photo_fl']['name']);
    echo $textareastatus = htmlspecialchars($_POST['status_is_text_ara']);
}

问题 :当我单击提交按钮时,它不执行我的代码。 但是,如果我在isset函数之外执行某些操作,那我会错在哪里?

如果使用提交按钮提交表单,则它是一个成功的控件。

你是:

  1. 使用提交按钮提交表单
  2. 阻止Submit事件的默认行为,以便不提交表单
  3. 使用JavaScript从表单收集数据
  4. 使用该数据发出HTTP请求

由于(由于步骤2)提交按钮不再用于提交表单,因此它不包含在您使用FormData()创建的对象中。

测试是否存在发送的其他数据。

例如

if(isset($_FILES['ui-is-status_is_photo_fl'])) 

在您的PHP脚本中,尝试这样

if  (
    isset($_FILES['ui-is-status_is_photo_fl']['name']) && 
    $_FILES['ui-is-status_is_photo_fl']['error'] == 0
) {
    print_r($_FILES);
    print_r($_POST);
    // Do the required task here
} else {
    echo "error";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM