Post 使用jquery访问json数据(由php返回)

Post 使用jquery访问json数据(由php返回),post,json,Post,Json,Q1.这是我的html: <html> <head> <title> Runners </title> </head> <body> <button id="printrunners"> Print Runners</button> <div id="printrunnershere"></div> <script src="printrunners1.js">

Q1.这是我的html:

<html>
<head>
<title>
 Runners
</title>
</head>
<body>
 <button id="printrunners"> Print Runners</button>
 <div id="printrunnershere"></div>
<script src="printrunners1.js"></script>
</body>
</html>
}))

printrunners.php此处:

<?php
if($_GET)  //also tried without it with respect to "?action=getrunner"
 {
   if($_GET['action']=="getrunners") // also tried without it w.r.t "?action=getrunner"
     {
        mysql_connect("localhost","runner_db_user","runner_db_user_password");
        mysql_select_db("runner_info");
        $result=mysql_query("select  * from runner");
        $runners=array();
        while($row=mysql_fetch_array($result,MYSQL_ASSOC))
         {
            array_push($runners, array('fname' => $row['fname'], 'lname' => $row['lname'], 'gender' => $row['gender'], 'finish_time' => $row['finish_time']));
         }
      echo json_encode(array("runners" =>$runners));
     }
 }

?>
<?php


   $fname=htmlspecialchars($_POST['fname']);
   $lname=htmlspecialchars($_POST["lname"]);
   $gender=htmlspecialchars($_POST["gender"]);
   $finish_time=htmlspecialchars($_POST["finish_time"]);



  $query="insert into runners (fname,lname,gender,finish_time) values('$fname','$lname','$gender','$finish_time')" ;

  $result=db_connection($query);

if($result)
   {
    $msg="Runner  " .fname."".lname."added successfully";
success($msg);
   }
  else
   {

     fail("insert failed");
   }
exit;




function fail($message) 
  {
    die(json_encode(array('status' => 'fail', 'message' => $message)));
  } 
function success($message)
  { 
    die(json_encode(array('status' => 'success', 'message' => $message)));
  }

function db_connection($query1)
 {
  mysql_connect("localhost","runner_db_user","runner_db_password")
    OR die(fail('Could not connect to database.'));

   mysql_select_db("runner_info");

   return  mysql_query($query1);

 }

?>
这里是php:

<?php


   $fname=htmlspecialchars($_POST['fname']);
   $lname=htmlspecialchars($_POST["lname"]);
   $gender=htmlspecialchars($_POST["gender"]);
   $finish_time=htmlspecialchars($_POST["finish_time"]);



  $query="insert into runners (fname,lname,gender,finish_time) values('$fname','$lname','$gender','$finish_time')" ;

  $result=db_connection($query);

if($result)
   {
    $msg="Runner  " .fname."".lname."added successfully";
success($msg);
   }
  else
   {

     fail("insert failed");
   }
exit;




function fail($message) 
  {
    die(json_encode(array('status' => 'fail', 'message' => $message)));
  } 
function success($message)
  { 
    die(json_encode(array('status' => 'success', 'message' => $message)));
  }

function db_connection($query1)
 {
  mysql_connect("localhost","runner_db_user","runner_db_password")
    OR die(fail('Could not connect to database.'));

   mysql_select_db("runner_info");

   return  mysql_query($query1);

 }

?>

当您尝试它时会发生什么?@kielni:在Q2 jquery程序中,什么都不会发生,表单保持原样,并且根据php json响应,不会显示任何应该显示的警报消息。然而,行被插入到数据库中,我在表单字段中输入了值,我再次单独测试了php程序,通过手动给它的变量赋值&显示结果-{“status”:“success”,“message”:“Runner Smart Kielni added successfully”}所以请帮帮我。我提这个问题的时候是晚上10点,所以请不要介意我回复得这么晚,因为我睡觉了,12个小时后我回复了你的评论,等了一整天。现在我删除了我的旧评论并键入了新评论。现在时间又是一样的,所以。。。我将至少在12小时后访问这个问题。thanx但请回答。对不起,我不明白你想做什么。试着在Firebug中运行它,看看是否可以跟踪发生了什么。对于问题2,我试图查看Firebug的选项卡(dom、html、css),但不知道要查找什么。所以请告诉我应该如何使用Firebug来跟踪问题。另外,当我在post()方法的回调函数中放置一条警报消息时,没有显示警报(在运行程序时),这意味着没有调用回调函数,这是因为我的post()函数错误。
<?php


   $fname=htmlspecialchars($_POST['fname']);
   $lname=htmlspecialchars($_POST["lname"]);
   $gender=htmlspecialchars($_POST["gender"]);
   $finish_time=htmlspecialchars($_POST["finish_time"]);



  $query="insert into runners (fname,lname,gender,finish_time) values('$fname','$lname','$gender','$finish_time')" ;

  $result=db_connection($query);

if($result)
   {
    $msg="Runner  " .fname."".lname."added successfully";
success($msg);
   }
  else
   {

     fail("insert failed");
   }
exit;




function fail($message) 
  {
    die(json_encode(array('status' => 'fail', 'message' => $message)));
  } 
function success($message)
  { 
    die(json_encode(array('status' => 'success', 'message' => $message)));
  }

function db_connection($query1)
 {
  mysql_connect("localhost","runner_db_user","runner_db_password")
    OR die(fail('Could not connect to database.'));

   mysql_select_db("runner_info");

   return  mysql_query($query1);

 }

?>
<!DOCTYPE html>
<html>
<head>
<title>
 add runner
</title>
<script src="jquery-2.0.3.js" type="text/javascript"></script>
<script src="jsonuse.js" type="text/javascript"></script>

</head>
<body>
 <form id="addrunnerform" name="addrunnerform" method="post" action="addrunner.php">
   First Name: <input type="text" name="fname" id="name"></br>
   Last Name: <input type="text" name="lname" id="lname"></br>
   Gender: <input type="radio" name="gender" id="male" value="m" checked>Male
           <input type="radio" name="gender" id="female" value="f">Female</br>
   Finish Time: <input type="text" id="finish_time" name="finish_time"></br>
 <button type="submit" id="add" name="add">ADD</button>

  </form>

</body>
</html>