【问题标题】:AJAX call display response from php script in html来自 html 中 php 脚本的 AJAX 调用显示响应
【发布时间】:2016-12-28 17:56:45
【问题描述】:

我有一个 html 文件,用户可以在其中输入一个值。 我用 PHP 编写了一个脚本,用于检查该值是否存在于数据库中。如果存在,则返回

{“活跃”:真}

现在我的目标是,当用户输入他们的值并提交时,如果此活动为真,他们将被重定向到某个页面。如果它是假的,他们应该会看到一条错误消息。

以下是我尝试使用 AJAX 调用的方法:

$("document").ready(function(){
 $(".checkform").submit(function(e){
    e.preventDefault();
    $.ajax({
      type: "GET",
      dataType: "json",
      url: "api/check.php", 
      data: data,
      success: function(data) {
        if(data.active=="true"){
            alert("success");
            location.href="where_you_want";
         }else{
             alert("failure");
         }
      }
    });
    return false;
  });
});

这是我的 HTML:

<form action="api/check.php" id="requestacallform" method="GET" name="requestacallform" class="formcheck">
                <div class="form-group">
                  <div class="input-group">                               
                    <input id="#" type="text" class="form-control" placeholder="Jouw subdomein" name="name"/>
                  </div>
                </div>
                <input type="submit" value="Aanmelden" class="btn btn-blue" />
</form>

由于某种原因,我收到一个错误:

Uncaught ReferenceError: data is not defined

我是 AJAX 新手,我不确定我尝试的是否正确。 任何帮助将不胜感激!

提前致谢。

【问题讨论】:

  • 你能分享你的 HTML 代码吗?
  • 你在哪里也被重定向了,我猜页面重新加载对吗?
  • 也分享你的html代码
  • @ArunGhosh 我更新了 OP
  • @Velimir 我被重定向到 /api/check.php 我的脚本

标签: javascript php jquery html ajax


【解决方案1】:

我正在全面更新我的答案

<html>
<body>
    <form action="api/check.php" id="requestacallform" method="GET" name="requestacallform" class="formcheck">
        <div class="form-group">
            <div class="input-group">                               
                <input id="txt1" type="text" class="form-control" placeholder="Jouw subdomein" name="name"/>
            </div>
        </div>
        <input type="submit" value="Aanmelden" class="btn btn-blue checkform" />
    </form> 
</body>
</html>

jQuery 部分就像

  $("document").ready(function () {

    $("body").on("click", ".checkform", function (e) {
        e.preventDefault();
        var request = $("#txt1").value;
        $.ajax({
        type: 'GET',
        url: 'ajax.php',
        data: {request: 'request'},
        dataType: 'json',
        success: function (data) {
           if(data.active==true){
               alert("success");
           }else{
                alert("failure");
           }

        }
    });

    });
});

ajax.php应该是这样的

if(isset($_GET['request'])){
  //check for the text
   echo json_encode($arr);     
}

【讨论】:

  • data.active 是布尔值,而不是字符串。
  • 你能用你的答案签出更新的 OP 请我得到Uncaught ReferenceError: data is not defined
  • 我正在检查一分钟
  • @SanoojT 我不明白如何访问 json_encode($data);我的 php 脚本的响应太奇怪了
  • @FrankLucas 快完成了,我会更新我的答案
【解决方案2】:

你可以试试:

  $(".aanmeldenmodal").submit(function(e){
      e.preventDefault();

【讨论】:

    猜你喜欢
    • 2019-11-11
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多