我想用jquery和ajax做一個評論系統,有時我需要用戶輸入一個驗證碼圖片,當他們發佈太頻繁時。jquery ajax post可以返回多於1個變量嗎?
我使用了與jQuery的facebox插件是一個彈出式對話框,
我觸發這個盒子打開,當後端腳本告訴它的用戶需要輸入驗證碼,它就會彈出並在屏幕上加載php captcha文件。
這是我遇到麻煩的地方,我需要該框不僅打開驗證碼,還要將註釋填充到此框中,類似於隱藏的表單域,以便如果用戶輸入正確的驗證碼,它會發表評論,否則,他們正在批准驗證碼,然後什麼都不會發生,所以我需要發表評論。另外,如果他們得到錯誤的驗證碼,那麼我需要重新加載驗證碼,並且仍然有評論,如果能夠讓第一部分工作,應該很容易。
這是我的代碼到目前爲止這部分,任何人都可以幫忙嗎?
$.ajax({
type: "POST",
url: "process.php",
data: args,
cache: false,
success: function (data) {
// there was an error so we will show an error message
if (data == 'error') {
alert(data);
//we need the user to submit a captcha to post there data
} else if (data == 'captcha') {
jQuery.facebox(function() {
jQuery.facebox({
ajax: 'captchabox.php'
})
})
//everything is all good, let post there comment
} else {
$('#comments').prepend(data);
$(this).remove();
})
};
// remove loading image
$('#load').fadeOut();
}
});
好吧聽起來像多數民衆贊成在正確的軌道上。因此,在我的處理腳本中,我可以在php中使用json_encode,然後將其作爲json字符串發回給jquery,在這裏我需要將它分解回它自己的變量,你知道我該怎麼做嗎? – JasonDavis 2009-08-11 13:57:53
你可以在這裏使用插件:http://json.org/json2.js - 這不是一個直接的實際jQuery插件,而是一個John Resig(jQuery創建者)建議使用的插件。 – Fooberichu 2009-08-11 16:28:56