0

我查看了其他问题,但找不到为什么这不起作用的答案。我正在网上学习教程。这是我的代码:

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";
    }
 }
 ?>

我看不出我做错了什么。本教程具有相同的代码。谢谢你的帮助。

4

3 回答 3

1

好吧,我不知道我是否可以帮助您:

你的代码有一些错误

  1. elseif 条件不是 ====(4) 只是 ===(3)

  2. ajax.js 文件应该在 jquery 库之后

  3. src 属性不是 scr。

  4. 当然,jquery 库的 URL 应该以 http:// 开头,因为它是外部资源。

  5. mysql_query() 函数应该有连接变量,例如:
    mysql_query("[query here]", $connect);

于 2012-11-04T18:02:17.553 回答
1

moonwave99 是正确的(我不知道为什么不赞成投票).. 而且 scr="ajax" 应该是 src="ajax" 在你的 html 中,应该放在 head 甚至之前。其他原因可能是 ajax.php 在站点中的位置,也许声明整个 URL 会有所帮助:

$.post('http://wholeurl/ajax.php', { 
      item: item 
   }, function(data) {
      $('#content').text(data);
   });

希望这会有所帮助,如果没有,请指定错误。

于 2012-11-04T18:16:32.667 回答
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>
于 2012-11-04T17:53:31.093 回答