【发布时间】:2021-06-26 04:25:41
【问题描述】:
我的 HTML 文件中的脚本正在打印 ajax 脚本而不是实际消息。 HTML 脚本:
<script src="{{url_for('static', filename='jquery-3.6.0.min.js')}}"></script>
<script src="{{ url_for('static', filename='sign_up.js')}}"></script>
<script>
$(document).ready(function(){
$("#p3").keyup(function(){
var username = $(this).val().trim();
if(username != ''){
$.ajax({
url: '../static/ajaxfile.php',
type: 'GET',
data: {username: username},
success: function(response){
$('#uname_response').html(response);
}
});
}else{
$("#uname_response").html("");
}
});
});
</script>
ajaxfile.php
<?php
include "config.php";
if(isset($_POST['username'])){
$username = mysqli_real_escape_string($con,$_POST['username']);
$query = "select count(*) as cntUser from users where username='".$username."'";
$result = mysqli_query($con,$query);
if(mysqli_num_rows($result)){
$row = mysqli_fetch_array($result);
$count = $row['cntUser'];
if($count > 0){
$response = "<span style='color: red;'>Not Available.</span>";
}else{
$response = "<span style='color: green'>Available.</span>";
}
}
echo $response;
die;
}
?>
网页上的输出是"0){ $response = "Not Available."; }else{ $response = "Available."; } } }"在用户名文本框下。用户名文本框的 id 为“用户名”,我检查了终端,它使用用户名数据查询 ajaxscript.php 文件,但得到的响应不正确。
【问题讨论】:
-
您的服务器上似乎没有运行 PHP,您的 Web 服务器要么不支持它,要么配置错误。请描述您的网络服务器环境。实际上,您得到的是 full 代码(它只是被视为常规文件并返回其内容),正如您在浏览器 devtools 的网络选项卡上看到的那样,您只看到一部分的原因是因为从
<?php到if ($count) >(您碰巧有>)的整个部分都被解释为HTML 标记。 -
... 实际上,我刚刚意识到您正在尝试执行位于名为
static的文件夹中的 PHP 文件,听起来它应该包含 static 文件,而不是动态的代码,所以可能你的框架故意不在那里执行 PHP(它甚至可能被优化为直接由反向代理甚至 CDN 提供服务)。将 PHP 文件放在static文件夹之外的项目中的其他 PHP 文件旁边,看看是否有帮助。 -
... 实际上,现在我认为您展示的模板看起来像是一个 Flask 应用程序,它甚至不是 PHP,而是 Python...也许你有什么东西混在一起?我的直觉告诉我你看了一篇关于 AJAX 的糟糕教程,它假设全世界都在使用 PHP,你试图将它应用到用 Python 编写的应用程序中,但这是行不通的。
-
如果您使用
flask和python为什么要使用php?我自己不在 python 上工作,但你不能在python中创建一个函数的路由来为你完成任务。 Ajax 不仅限于调用 php。它只是处理对您要求的 url 的 get 或 post 请求。 ajax(适用于 JS)不知道您在后端做什么以及如何做,并且是客户端。 -
由于您的应用程序是基于 python 的烧瓶应用程序,因此您还需要用 python 而不是 PHP 编写响应您的 Ajax 请求的服务器代码。正如您所发现的,使用两种不同的服务器端语言没有任何意义,而且效果不佳。此外,这意味着代码无法与您现有应用程序已经提供的任何其他服务和库集成
标签: javascript php html jquery ajax