Post 使用jquery访问json数据(由php返回)
Q1.这是我的html: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">
<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>