我有一个简单的AJAX调用作为图像上传表单的一部分。该页面调用一个PHP表单,该表单应该处理文件上传并返回一个成功的"对同一页面发表评论。
目前,该脚本运行正常但是当它返回AJAX成功字符串时,它会将您带到一个新页面并显示AJAX输出,而不是在同一页面上的DIV中显示它。
为了简化,我只删除了所有PHP上传脚本并将其更改为简单的echo输出脚本 - 所以我认为提交表单页面而不是页面存在问题这被称为。我在提交页面中包含了jQuery。
这是提交表单:
<div id="uploadFormLayer">
<form id="uploadForm" action="../uploadtesties.sparkle" method="post" enctype="multipart/form-data">
<input type="file" name="myFile">
<input type="submit" value="Upload">
<input type="hidden" name="EID" value="<? echo $ElectionID; ?>">
</form>
</div>
<div id="targetLayer"></div>
这是AJAX请求:
<script type="text/javascript">
$(document).ready(function (e) {
$("#uploadForm").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "uploadtesties.sparkle",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$("#targetLayer").html(data);
},
error: function()
{
}
});
}));
});
</script>
PHP页面暂时只显示<?php echo "Testing output"; ?>
。