在使用 jquery $.ajax 或 $.post 提交一个值(比如 uid {user id})时,我如何定义一个回调函数来从 php 脚本中检索多个值并从我的 mysql 表中检索值说(用户详细信息,对应于uid)并将它们存储在vars中,使用默认数据类型:数据类型???
谁能告诉我jquery和php脚本。是的,数据库正在运行 mySQL 5.5.24,PHP 版本是 5.3
instead of using $.ajax you can also use this...
var id=$("#id").val();
$.getJSON('script.php', {id:id}, function(json) {
var id=json.id;
var name=json.name;
var email=json.email;
});
}
in your php scrip..
<?php
mysql_connect($host,$dbuser,$dbpass);
mysql_select_db($db_name);
$id=$_GET['id'];
$query="select * from tbl_name where id='$id'";
$rs=mysql_query($query);
$row=mysql_fetch_assoc($rs);
$id=$row['id'];
$name=$row['name'];
$email=$row['email'];
$data=array("id"=>$id,"name"=>$name,"email"=>$email);
echo json_encode($data);
?>
$.ajax({
type: "POST",
dataType:"html",
url: "ajax_page.php",
data:"params1="$params1"¶ms2="+$params2,
}).done(function(value) {
// write your callback operation
});
您可以使用类似的 post 方法在 ajax_page.php 上获取数据
$_POST['params1']; 和 $_POST['params2'];
<script type="text/javascript">
$.ajax({ // ajax call starts
url: 'serverside.php', // JQuery loads serverside.php
data: 'button=' + $(this).val(), // Send value of the clicked button
dataType: 'json', // Choosing a JSON datatype
success: function(data) // Variable data contains the data we get from serverside
{
}
});
</script>
dataType: json..so jason will return multiple values. from you php script
echo json_encode($array_of_val);
$query= select statement
$items=array();
while ($row = mysql_fetch_object($rs)) {
array_push($items, $row);
}
$result["rows"] = $items;
echo json_encode($result);
最好的方法是将其作为 json 对象发送回 javascript.... 所以对于您的用户示例
// assuming post containing a username, using pseudo code for db access
$row = $db->fetchAssoc("select * from users where username = '".dbEscape($_POST["username"]."'");
header("Content Type: application/json");
echo json_encode($row);
ajax 代码如下
$.ajax({
type: "POST",
url: "your_page.php",
data: { param1: "val1", param2: "val2" }
}).done(function( data) {
// do your callback operation
});
从 your_page.php 获取值,如下所示
$_POST["param1"] , $_POST["param2"]
如果您想了解更多,请点击这里
我认为这将解决您的问题。