【问题标题】:How to send Data from PHP server to Client如何将数据从 PHP 服务器发送到客户端
【发布时间】:2015-01-01 09:31:02
【问题描述】:

我是网络技术的新手。我正在尝试将数据从 PHP 服务器发送到客户端 test.html。但是只有 alert("1") 来了,但 alert("2") 没有打印 我只是想将 Json 数据打印到 alert(JSON.stringify(response));,请告诉我我在哪里错了吗?

我的服务器代码是 api.php

<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","1234");
mysql_select_db("demo");
if(isset($_GET['type']))
{
    if($_GET['type']=="login"){
        $username=$_GET['UserName'];
        $Password=$_GET['Password'];
        $query="Select * from registration where UserName='$username' and Password='$Password'";
        $result=mysql_query($query);
        $totalRows=mysql_num_rows($result); 
        if($totalRows>0){
            $recipes=array();
            while($recipe=mysql_fetch_array($result, MYSQL_ASSOC)){
                $recipes[]=array('User'=>$recipe);
            }
            $output=json_encode(array('Users'=>$recipes));
            echo $output;
        }
    }
}
else{
    echo "Invalid format";
}

我的客户代码 test.html

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>JSON </title>
        <script src="Scripts/jquery-1.8.2.js">
        </script>
        <script>
            $(document).ready(function(){
                alert("1");
               $("#btnLogin").click(function(){
                   alert("2");
                  $.ajax({
                      url:"http://localhost/Experiements/webservices/api.php",
                      type:"GET",
                      dataType:"json",
                      data:{type:"login", UserName:"abhishek",Password:"123456"},
                      ContentType:"application/json",
                      success: function(response){
                          alert(JSON.stringify(response));
                      },
                      error: function(err){
                          alert(JSON.stringify(err));
                      }
                  })
               }); 
            });
        </script>
    </head>
    <body>
        <input type="button" id="btnLogin" name="btnLogin" value="Login"/>
    </body>
</html>

DataBase是demo,用户名是root,密码是1234,table是registration

【问题讨论】:

  • 以上是工作代码,感谢@Indra Kumar S,我更正了错误,您只需下载 jquery-1.8.2.js 并保存在 Scripts 文件夹中即可。
  • 这个问题似乎有一个XY problem,并且应该更改标题以表明它是关于调试特定实现的。虽然不知道如何表达它,但没有直接参考答案,这表明问题在问题中的范围还不够大。
  • 这能回答你的问题吗? Sending data from server to client?

标签: php jquery ajax


【解决方案1】:

在 jquery 中,# 选择器用于通过其 id 选择一个元素(不是它的 name 属性)。所以添加一个 id 到你的按钮。

<input type="button" id="btnLogin" name="btnLogin" value="Login"/>

现在你的$("#btnLogin").click() 函数应该可以工作了。

【讨论】:

    【解决方案2】:

    错误 1:您的输入中缺少 id。添加它

    <input type="button" id="btnLogin" name="btnLogin" value="Login"/>
    

    错误2:你的ajax url以php结尾但是你提到了api.html

      url:"http://localhost/Experiements/webservices/api.php",
    

    【讨论】:

    • 谢谢,在我的代码中有错误1,但没有错误2,我提到.php不是html谢谢
    • 但你只提到“我的服务器代码是 api.html”..... api.html 和 api.php 不一样吧?
    【解决方案3】:

    input 元素中使用id 属性在javascript 中使用#btnLogin 引用它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 2013-04-11
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      相关资源
      最近更新 更多