JS美元.post不加载PHP文件


JS $.post not loading PHP file

我从YouTube教程中复制了代码,修改了数据库连接和SELECT项以连接到我现有的DB,但我似乎无法让JS加载PHP文件。在Chrome中使用"inspect"工具,我可以看到JS文件正在加载,但是当我点击我的HTML页面上的GRAB时,它不做任何事情。就像JS文件正在加载但没有运行。

Webserver文件夹结构:

    ROOT FOLDER
      test.html
      -AJAX (folder)
          name.php
      -JS (folder)
          global.js
      -CONNECTIONS (folder)
          dbase.php

HTML代码

    <!doctype html>
    <html>
    <head>
    <title>AJAX Database</title>
    </head>
    <body>
    Name: <input type="text" id="name">
    <input type="submit" id=name-submit" value="Grab">
    <div id="name-data"></div>
    <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
    <script src="js/global.js"></script>
    </body>
    </html>

Javascript文件

    $('input#name-submit').on('click', function() {
        var name = $('input#name').val();
         if ($trim(name) != '') {
           $.post('ajax/name.php', {name: name}, function(data) {
                 $('div#name-data').text(data);
           });
         }
    });
PHP文件

首先尝试在javascript点击函数中添加console.log('something'),就在var name =…行,以查看您的事件是否正在启动。如果没有,则需要正确注册该事件。点击功能是否被

包围?
$(document).ready(function () { 
    $('input#name-submit').on('click', function() {
        var name = $('input#name').val();
        if ($trim(name) != '') {
            $.post('ajax/name.php', {name: name}, function(data) {
                $('div#name-data').text(data);
            });
        }
    });
});
//try using submit event
 $(document).ready(function () { 
        $('input#name-submit').on('submit', function(e) {
            e.preventDefault();
            var name = $('input#name').val();
            if ($trim(name) != '') {
                $.post('ajax/name.php', {name: name}, function(data) {
                    $('div#name-data').text(data);
                });
            }
        });
    });

我不知道为什么我的PHP代码被编辑并从这里删除,但我最终重写了整个PHP页面。我将or die(mysql_error());添加到SELECT语句中,发现它需要我在FROM中指定数据库。我在我的服务器上有多个数据库,即使DB在连接字符串中指定,它也需要在SQL语句中再次指定。我解决的下一个问题是删除mysql_num_rows,因为这只是不像演示那样工作。

原始PHP

    <?PHP
    if (isset($_POST['name']) === true && empty ($POST['name']) === false) {
           require '../db/connect.php';
    $query =mysql_query("
           SELECT 'names'.'location'
           FROM 'names'
           WHERE 'names'.'name' = '" . mysql_real-escape_string(trim($_POST['name'])) . "'
           ");
    echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0, 'location') : 'Name not found';
    }
    ?>

原文对于我想要的和我想解决的问题来说太复杂了,所以我重写了它:

新建PHP文件

    <?PHP
    //I've intentionally left out the connection data..
    $sql_select = mysql_query("
          SELECT names.location
          FROM database_name.names
          WHERE names.name = '" . $_POST['name'] . "'
          ")
          or die(mysql_error());
    $sql_fetch = mysql_fetch_assoc($sql_select);
    echo $sql_fetch['name'];
    ?>

感谢那些帮助我的人。欣赏…

我知道PHP文件中不推荐的标签,但是当我从演示中复制时,所以我想在使用新标签更新之前让它工作。