有人可以在這裏指出我正確的方向嗎? 基本上,我有這個jQuery的代碼片段:使用jQuery在mySQL base中存儲基本文本字符串?
$('.bggallery_images').click(function() {
var newBG = "url('" + $(this).attr('src');
var fullpath = $(this).attr('src');
var filename = fullpath.replace('img/Bakgrunner/', '');
$('#wrapper').css('background-image', newBG);
// Lagre til SQL
$.ajax({
url: "save_to_db.php",
// The url to your function to handle saving to the db
data: filename,
dataType: 'Text',
type: 'POST',
// Could also use GET if you prefer
success: function (data) {
// Just for testing purposes.
alert('Background changed to: ' + data);
}
});
});
這是當我點擊某個按鈕運行。所以它實際上是一個點擊處理程序。
如果我正確地理解了這一點,如果我剛剛單擊並刪除圖像,此代碼片段將採用源代碼,以便最終只使用文件名。如果我做了一個警報(文件名),我只得到文件名。所以這是行得通的。
但是,它會對名爲「save_to_db.php」的php文件執行ajax調用併發送數據:文件名。這是正確的嗎?然後,它執行一個提醒+數據的回調。
到目前爲止,這看起來是否正確?
因爲我的PHP文件看起來像這樣:
<?php
require("dbconnect2.php");
$uploadstring = $_POST['filename'];
$sessionid = $_SESSION['id'];
echo ($sessionid);
mysql_query("UPDATE brukere SET brukerBakgrunn = '$uploadstring' WHERE brukerID=" .$_SESSION['id']);
mysql_close();
?>
當我點擊圖像,jQuery的片斷火災和我得到這個PHP文件作爲提示框輸出的結果。我認爲變量是空的。 因爲注意到echo($ sessionid);這是我創建的一個變量,用於測試會話ID是什麼。它什麼都不返回。這裏可能是什麼問題?
編輯:我只是試圖回聲$ uploadstring變量以及它也沒有返回任何東西。這就像jQuery代碼片段甚至沒有將變量傳遞給php文件?
OT,但是你的'var newBG =「url('」+ $(this).attr('src');'line想要'+')''在';'末尾。 – 2010-05-10 08:30:01