php - html中的ajax,从php中获取结果

标签 php jquery html mysql ajax

我有 html:

<body>
<div class="po-logo">
  <img src="img/logos/lw.png" alt="logo watchbees"/>
</div>
<form>
<div class="mui-textfield mui-textfield--float-label reg-window">
  <input id="username" name="username" type="text"/>
  <label>Username</label>
</div>
<div class="mui-textfield mui-textfield--float-label reg-window">
  <input id="password" name="password" type="password"/>
  <label>Password</label>
</div>
<div class="mui-textfield mui-textfield--float-label reg-window">
  <button id="login" value="submit" onclick="return result" class="mui-btn mui-btn--raised reg-win-button">Sign in</button>
</div>
</form>

html 中的 Jquery:

$("#login").click(function(){
      var username=$("#username").val();
      var password=$("#password").val();
      if(($.trim(username).length > 0) & ($.trim(password).length > 0))
      {
        $.ajax({
        type: "POST",
        url: "http://127.0.0.1/app/login.php",
        data: {username: username, password: password},
        beforeSend: function(){ $("#login").html('Prihlasovanie...');},
        success: function(data){
        if(data == "success")
        {
          localStorage.login="true";
          localStorage.username=username;
          window.location.href = "profil.html";
          }
        else if (data = "failed")
        {
          alert("Problem s prihlasením, skúste znovu.");
          $("#login").html('Prihlásiť sa');
          }
          }
        });
      }return false;
    });

本地服务器上的 php 文件,login.php:

if (isset($_POST['username'], $_POST['password'])){
$username=mysql_real_escape_string(htmlspecialchars(trim($_POST['username'])));
$password=mysql_real_escape_string(htmlspecialchars(trim($_POST['password'])));
$login = mysql_num_rows(mysql_query("SELECT * FROM `login` WHERE `username`='$username' AND `password`='$password'"));
if($login != 0){
echo "success";
}
else{
echo "failed";
}
}

但是出了点问题,ajax 没有向我发回任何数据。它只是将 #login 更改为“正在连接...”,但没有任何反应。刻录信息正确并上传至数据库。很可能 php 不会发回任何数据,或者 html 中的 ajax 无法正确处理来自 php 的数据。我不知道问题出在哪里。 Profile.html 与index.html 位于同一文件夹中。但login.php位于本地服务器上。

HTML:index.html; PHP:login.php 在我的笔记本电脑上的本地服务器上;服务器:127.0.0.1,数据库名称db_login。

非常感谢任何帮助或指示。

最佳答案

首先 - 您必须检查 ajax 请求是否正确指向您的 php 文件。在 Chrome 中打开检查器,切换到 tan 网络,然后使用 Emanuel 过滤器 xhr。单击#login 后,您应该会看到新的请求。单击它,切换到响应选项卡并将其内容粘贴到此处

关于php - html中的ajax,从php中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40318938/

相关文章:

javascript - 使用 javascript 和 php 登录帐户时无法重定向

javascript - 如何使用外部网络链接更新页面,保持导航栏固定

jquery - 错误处理jQuery AJAX Promise与Q

html - Div溢出而不是单独的行

javascript - 禁用 Kendo 编辑器或将其设置为只读

php - 使用mysql从数据库中检索数据

javascript - 在 PHP 中的 AJAX post 上获取空值

php - Composer : where should I put the "vendor" folder?

javascript - 如何在 Javascript 中反序列化数组

jQuery radio 验证 - 突出显示 radio 的所有标签