[英]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函数之外执行某些操作,那我会错在哪里?
如果使用提交按钮提交表单,则它是一个成功的控件。
你是:
由于(由于步骤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.