我已经查看了其他问题,但找不到为什么这不起作用的答案。我在网上关注教程。这是我的代码:
HTML文件:
<!DOCTYPE HTML>
<html>
<head>
<title>AJAX Test</title>
</head>
<body>
<h4>Enter an Item</h4>
<input type="text" id="item" /><br />
<input type="button" id="button" value="Submit" /><br />
<div id="content"></div>
<script type="text/javascript" scr="ajax.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
</body>
</html>
JS档案:
$('#button').click(function() {
var item = $('#item').val();
$('#content').text('Loading...');
$.post('ajax.php', { item: item }, function(data) {
$('#content').text(data);
});
});
PHP文件:
<?php
include 'db.php';
if (isset($_POST['item'])) {
$item = $_POST['item'];
$sql = mysql_query("INSERT INTO items(item)VALUES('$item')");
if ($sql === true) {
echo "Inserted into database";
} elseif ($sql ==== false) {
echo "Error inserting into database";
}
}
?>
我看不出我做错了什么。本教程具有相同的代码。谢谢你的帮助。
答案 0 :(得分:1)
我不知道我是否可以帮助你:
您的代码存在一些错误
elseif条件不是====(4)只是===(3)
ajax.js文件应该在jquery库之后
src属性不是scr。
当然,jquery库的URL应该以http://开头,因为它是一个外部资源。
mysql_query()函数应该有连接变量,例如:
mysql_query(“[在这里查询]”,$ connect);
答案 1 :(得分:1)
moonwave99是对的(我不知道为什么是downvotes)..而且scr =“ajax”应该是你的html中的src =“ajax”,应该放在头部甚至之前。其他原因可能是ajax.php对网站的位置,也许声明整个网址会有所帮助:
$.post('http://wholeurl/ajax.php', {
item: item
}, function(data) {
$('#content').text(data);
});
希望这有帮助,如果没有请指出错误。
答案 2 :(得分:0)
除了您可能遇到的任何其他错误,您应该在脚本之前导入jQuery :
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="ajax.js"></script>