我一直在寻找解决方案,但我找不到任何可行的方法。 我想从数据库中获取一堆数据,然后通过表单中的AJAX自动完成输入字段。为此,我决定使用json,因为为什么不,对吧?或者,我一直在想,只是发回一个分隔符的字符串,然后将它标记出来,这在后视中会容易得多,并且让我头痛不已......因为我已经决定使用json,但我想我应该坚持下去,找出问题所在! 执行get_member_function()会发生什么情况,在警报对话框中弹出一条错误消息,并读取“[object Object]”。我试过这也使用GET请求,并通过设置contentType为“application/json;字符集= UTF-8“。唉,没有骰子。任何人都可以请建议我做错了什么?保重,彼得。
我的JavaScript/jQuery的功能如下:
function get_member_info()
{
var url = "contents/php_scripts/admin_scripts.php";
var id = $("select[ name = member ] option:selected").val();
$.ajax(
{
type: "POST",
dataType: "json",
url: url,
data: { get_member: id },
success: function(response)
{
$("input[ name = type ]:eq(" + response.type + ")").attr("checked", "checked");
$("input[ name = name ]").val(response.name);
$("input[ name = fname ]").val(response.fname);
$("input[ name = lname ]").val(response.lname);
$("input[ name = email ]").val(response.email);
$("input[ name = phone ]").val(response.phone);
$("input[ name = website ]").val(response.website);
$("#admin_member_img").attr("src", "images/member_images/" + response.image);
},
error: function(error)
{
alert(error);
}
});
}
和 “内容/ php_scripts/admin_scripts.php” 的相关代码如下:
if(isset($_POST[ "get_member" ]))
{
$member_id = $_POST[ "get_member" ];
$query = "select * from members where id = '$member_id'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$type = $row[ "type" ];
$name = $row[ "name" ];
$fname = $row[ "fname" ];
$lname = $row[ "lname" ];
$email = $row[ "email" ];
$phone = $row[ "phone" ];
$website = $row[ "website" ];
$image = $row[ "image" ];
$json_arr = array("type" => $type, "name" => $name, "fname" => $fname, "lname" => $lname, "email" => $email, "phone" => $phone, "website" => $website, "image" => $image);
echo json_encode($json_arr);
}
尝试提醒(JSON.stringify(错误)),因为它应该在警报对话框中显示有关错误的更多信息 – 2011-02-28 21:06:20
我猜在JSON被回显之前有一个PHP错误。检查你的获取函数,你正在寻找数据$ row ['key'],所以你应该使用mysql_fetch_assoc来代替,我相信。 更改'$ row = mysql_fetch_array($ result);'到 '$ row = mysql_fetch_assoc($ result);' ,看看它是否有效。 – 2011-02-28 21:06:38
注意:如果以前没有过滤,您很容易受到SQL注入的攻击。 – Andrea 2011-02-28 21:11:13