所以我试图在执行php-file时为网页做一个加载屏幕,因为php-file从MYSQL服务器获取数据,这有时需要一段时间。
因此,我的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-file:
<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 include_once('getcelebration.php'); ?>文件时,一切都运行得很好。
发布于 2019-04-18 18:37:52
success函数中缺少data参数,因为这些是回调函数,它们返回从AJAX请求中的request_url (即connect.php )传递的数据。
试试这个:
success: function (data) {
console.log(data);
$( '.container' ).html(data);
$( '#loading' ).hide();
}https://stackoverflow.com/questions/55744056
复制相似问题