AJAX发布到数据库

时间:2012-11-04 17:49:12

标签: php jquery ajax post

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

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

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

3 个答案:

答案 0 :(得分:1)

我不知道我是否可以帮助你:

您的代码存在一些错误

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

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

  3. src属性不是scr。

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

  5. 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>