我正在尝试使用php来获取JSON数据并使用AJAX对其进行解析,以使我的网页无法加载并且整个过程继续进行。
因为我有两个数组。
$errorMessage[];
and
$uploadedFiles[];
如果HTML中的Div框发生任何错误,则应显示$errorMessage
值
并且如果我的文件已上传,则div框应显示$uploadedFiles
值。
现在无论条件是..它都显示两个数组值。
如何在AJAX中应用条件,使其仅显示一个数组值。
这是PHP代码副本。
if ($uploadOk == 0) {
$errorMessage['error_file'] = "Sorry, your file was not uploaded.";
$errorMessage['errormessage'] = "Error in input Image";
echo json_encode($errorMessage);
// if everything is ok, try to upload file
}
else
{
if(move_uploaded_file($sourcePath,$targetPath)) {
// copy($targetPath, $outputImage);
$uploadedFiles['input_file'] = '<img class="image-preview" src="'.$targetPath.'" class="upload-preview" />';
$uploadedFiles['path'] = $targetPath ;
// $uploadedFiles['output_file'] = '<img style="filter: grayscale() !important;" class="image-preview" src="'.$outputImage.'" class="upload-preview" />';
echo json_encode($uploadedFiles);
session_start() ;
$_SESSION['file_path'] = $targetPath;
}
}
这是我的AJAX:
<script type="text/javascript">
$(document).ready(function (e) {
$("#uploadForm").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
dataType: "json",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$("#targetLayer").html(data.error_file);
$("#targetLayer").html(data.input_file);
$(".outputDiv").html(data.errormessage);
$(document).ready(function(){$(".outputDiv").load("python.php");});
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
}));
});
</script>
希望我的问题很清楚。预先感谢