我有问题:在这种情况下如何显示警报? 当警报确实向数据库传递数据或不向数据库传递数据时,该警报也会显示相同的警报。
我尝试了成功和错误的方法,但仍然没有得到任何结果。
ajax.php:
$(document).ready(function(){
$('#addDocumentForm').on('submit', function(e){
$('#select_image').change(function(){
$('#addDocumentForm').submit();
});
e.preventDefault();
$.ajax({
url :"main.php",
method:"POST",
data:new FormData(this),
contentType:false,
processData:false,
success:function(data){
location.reload(true);
}
})
});
main.php:
if (!in_array($fileExtension,$fileExtensions)) {
echo "<script type='text/javascript'>alert('asd');</script>";
}else if (in_array($fileExtension,$fileExtensions)) {
$stmt = $dbh->prepare("insert into document values('',?)");
$stmt->bindParam(1,$filename);
$stmt->execute();
echo "<script type='text/javascript'>alert('asd');</script>";
我在main.php中放入了这样的警报,但是没有用,只在ajax.php中显示了警报。 当数据插入数据库失败时,例如“文件应该是图像”,或者数据插入成功时,“成功添加”,我也想得到警报。
答案 0 :(得分:0)
当您在其他文件中时,回显脚本不会影响发送AJAX请求的另一个文件。但是,您可以使用AJAX成功函数提供的data
参数,并将收到的脚本附加到正文中:
$.ajax({
url: "main.php",
method: "POST",
data: new FormData(this),
contentType: false,
processData: false,
success: function(data){
// append script to the body
$('body').append(data);
}
});
您还可以回显要在其中发出警报的字符串 main.php
,并直接从成功回调中使用 alert(data)
,,我真的建议您这样做,但最终由您选择。
if (!in_array($fileExtension,$fileExtensions)) {
echo "asd";
// etc ...
{
success: function(data) {
// alerts echoed content if any
if(data) alert(data);
}
}