所以我试图在执行php文件的同时为网页做一个加载屏幕,因为php文件是从MYSQL Server提取数据的,有时可能需要一段时间。
所以我的php文件被命名为“ connect.php”,并且回显html代码,并且在调用时不需要任何参数。这是一个简单的概述,因此您可以了解其功能。当我不使用AJAX时,整个文件都可以正常工作,而通常只包含它即可。
<?php
if (!$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') die('Invalid request');
//MYSQL-Connection
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo //// Some HTML Code
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
在我的index.php中,我使用AJAX调用php文件:
<section id="intro" class="wrapper style1">
<style>#loading { display:none; }</style>
<div id="loading">Test</div>
<div class="container">
<span>
<script>
$( '#loading' ).show();
$.ajax( {
url: 'connect.php',
type: 'POST',
dataType: 'html',
success: function () {
$( '.container' ).html();
$( '#loading' ).hide();
},
error: function () {
alert( "Something went wrong!" );
}
} );
</script>
</span>
</div>
</section>
因此,控制台不会在短时间内发出任何错误(当php加载时,“ Test”一词会显示在屏幕上,但是什么也没发生,我也不知道为什么。就像我说的那样,包括php -<?php include_once('getcelebration.php'); ?>
这样的文件,一切正常。
答案 0 :(得分:0)
您在data
函数中缺少success
参数,因为这些是回调函数,它们返回从request_url
(即您的connect.php
)传递的数据AJAX请求。
尝试一下:
success: function (data) {
console.log(data);
$( '.container' ).html(data);
$( '#loading' ).hide();
}