出于某种原因,这个 AJAX 将在一个项目中工作,但在另一个项目中不起作用
For some reason this AJAX will work in one project, but not in another
所有目录都是正确的,我已经包含了 jQuery 并且 PHP 脚本只是在回显一个字符串。我已经检查了所有内容,但找不到任何问题。这是代码:
// script.php
echo "hello";
// HTML
<button type="button"></button>
// jQuery/AJAX
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$.ajax({
type: 'POST',
url: 'script.php',
success: function(data) {
alert(data);
}
});
});
});
</script>
为什么这不起作用?我真的看不出一个问题...我是否犯了一个愚蠢的错误,或者如果不是,可能是什么原因导致了这个错误?
此外,如果我决定这样做,我怎样才能做到这一点,这样我就不必使用 "url: 'script.php'" 而是在页面中包含 script.php 和 jQuery/AJAX代码?
感谢您的帮助,我一直在构建一个项目,但由于编程乏味,我不得不每 5 分钟问一次问题:)
编辑 ***
我查看了控制台并发现了这个错误 "Uncaught ReferenceError: $ is not defined"。这是截图
尝试使用这套完整的代码。
一对支票:
- 检查 script.php 是否拼写正确,文件名是否不是 scripts.php。
- 确保 script.php 页面包含以下代码:
<?php
echo "hello";
?>
完整代码文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$.ajax({
type: 'POST',
url: 'scripts.php',
success: function(data) {
alert(data);
}
});
});
});
</script>
</head>
<body>
<button type="button"></button>
</body>
</html>
你可以试试这个代码
<button type="button" id="btn"></button>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
// jQuery/AJAX
<script type="text/javascript">
$(document).ready(function() {
$("#btn").click(function() {
$.ajax({
type: 'POST',
url: 'script.php',
success: function(data) {
alert(data);
}
});
});
});
</script>
鉴于 Uncaught ReferenceError: $ is not defined 错误 jQuery 无法包含。
这可能有几个可能的原因:
- 您忘记为其添加脚本标签
- 您将 jQuery 脚本标记放在带有您的代码的标记之后,确保 jQuery 位于第一个
- 脚本标签或周围的标签格式不正确(可能您没有在它之前关闭标签或者 head 标签没有关闭)
- URL可能是错误的
- 如果您正在托管该文件,则该文件可能尚未上传
- 您可能在某处有一个脚本覆盖了 $ 或 jQuery
所有目录都是正确的,我已经包含了 jQuery 并且 PHP 脚本只是在回显一个字符串。我已经检查了所有内容,但找不到任何问题。这是代码:
// script.php
echo "hello";
// HTML
<button type="button"></button>
// jQuery/AJAX
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$.ajax({
type: 'POST',
url: 'script.php',
success: function(data) {
alert(data);
}
});
});
});
</script>
为什么这不起作用?我真的看不出一个问题...我是否犯了一个愚蠢的错误,或者如果不是,可能是什么原因导致了这个错误?
此外,如果我决定这样做,我怎样才能做到这一点,这样我就不必使用 "url: 'script.php'" 而是在页面中包含 script.php 和 jQuery/AJAX代码?
感谢您的帮助,我一直在构建一个项目,但由于编程乏味,我不得不每 5 分钟问一次问题:)
编辑 ***
我查看了控制台并发现了这个错误 "Uncaught ReferenceError: $ is not defined"。这是截图
尝试使用这套完整的代码。
一对支票:
- 检查 script.php 是否拼写正确,文件名是否不是 scripts.php。
- 确保 script.php 页面包含以下代码:
<?php echo "hello"; ?>
完整代码文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$.ajax({
type: 'POST',
url: 'scripts.php',
success: function(data) {
alert(data);
}
});
});
});
</script>
</head>
<body>
<button type="button"></button>
</body>
</html>
你可以试试这个代码
<button type="button" id="btn"></button>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
// jQuery/AJAX
<script type="text/javascript">
$(document).ready(function() {
$("#btn").click(function() {
$.ajax({
type: 'POST',
url: 'script.php',
success: function(data) {
alert(data);
}
});
});
});
</script>
鉴于 Uncaught ReferenceError: $ is not defined 错误 jQuery 无法包含。
这可能有几个可能的原因:
- 您忘记为其添加脚本标签
- 您将 jQuery 脚本标记放在带有您的代码的标记之后,确保 jQuery 位于第一个
- 脚本标签或周围的标签格式不正确(可能您没有在它之前关闭标签或者 head 标签没有关闭)
- URL可能是错误的
- 如果您正在托管该文件,则该文件可能尚未上传
- 您可能在某处有一个脚本覆盖了 $ 或 jQuery