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" は HTML の src="ajax" である必要があり、頭または前に配置する必要があります。他の理由は、サイトに対する 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 に答える