我一直在尋找解決方案,但我找不到任何可行的方法。 我想從數據庫中獲取一堆數據,然後通過表單中的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