gpt4 book ai didi

javascript - 通过 if 语句评估后 AJAX 无输出

转载 作者:行者123 更新时间:2023-11-30 17:30:56 26 4
gpt4 key购买 nike

所以我得到了这个文件 index.php,它提供了一个上传图片的表单。

<!DOCTYPE html>
<html>
<head>
<title>Unnamed</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<!-- Include styles -->
<link href = "bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href = "css/style.css" rel="stylesheet">

<!-- Include jQuery -->
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<!-- Include form plugin -->
<script src="http://malsup.github.com/jquery.form.js"></script>
<!-- Javascript -->
<script>
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#insert_movie').ajaxForm(function() {
$('#message').load('upload_file.php');
});
});
</script>
</head>

<body>
<!-- Message banner -->
<div id='message'></div>

<!-- Insert a movie into the database -->
<h1>Add a new movie to the list</h1>
<form id="insert_movie" action="upload_file.php" method="post" enctype="multipart/form-data">

<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>

</body>
</html>

注意:你们可能不熟悉,但我使用了一个 jQuery 插件来轻松进行 AJAX-ing。您可能想查看此 link

我通过 upload_file.php 评估这个表单:

<?php
error_reporting(E_ALL);
//Upload the image
$allow = array("jpg", "jpeg", "gif", "png");

$todir = 'images/';

if(isset($_POST['submit'])){
if ( $_FILES['file']['tmp_name'] ) // is the file uploaded yet?
{
$info = explode('.', strtolower( $_FILES['file']['name']) ); // whats the extension of the file

if ( in_array( end($info), $allow) ) // is this file allowed
{
if ( move_uploaded_file( $_FILES['file']['tmp_name'], $todir . basename($_FILES['file']['name'] ) ) )
{
echo "Great";
}
}
else
{
// error this file ext is not allowed
echo 'Choose another file extension';
}
}
}
echo "this works";

?>

所以问题在于,除了“这行得通”之外,标签中从未呈现过任何内容。但是上传非常完美。

感谢所有帮助!

编辑:所以当我忘记 ajaxing 并简单地重定向到 upload_file.php 时,一切都呈现得非常好......

最佳答案

问题是您的表单是通过 ajaxForm 发送到 upload_file.php 的,在返回预期字符串的调用中一切正常。有了这个服务器响应,你的回调函数被调用,在这里你再次调用 upload_file.php 没有任何参数并将结果呈现在 div 中,这只是“this works”。您应该像下面这样使用插件:

$('#insert_movie').ajaxForm({
success: function(response) {
$('#message').html(response);
}});

关于javascript - 通过 if 语句评估后 AJAX 无输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23091038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com