爲什麼不使用JSON返回HTML呢?
我通常做的是建立我返回的JSON對象是這樣的:
{
//s=status, d=data
"s":0, //0 means success, other numbers are for different errors
"d":{ /* Other JSON object or string here */ }
}
所以,你的情況,你會做這樣的事情(僞):
if (StuffIsValid()) {
ResponseWrite('{"s":0,"d":"<html>html code here</html>"}');
} else {
ResponseWrite('{"s":1,"d":{"errlist":["err1","err2"]}}');
}
當然,您希望使用內置的JSON庫作爲您選擇的服務器端語言,而不是使用字符串。
然後,在你的jQuery success
回調中,我會檢查s的值。
$.ajax({
url: 'url',
dataType: 'json',
success: function(data) {
if (data) {
//We have a JSON object
if (data.s === 0) {
//Success!
//Do stuff with data.d as a string
} else if (data.s === 1) {
//Failed validation
//Do stuff with data.d as an object
} else {
//How did this happen?
}
} else {
//Uh oh, no object, user must have been logged out (or something)
}
});
這是如果用戶先登錄才能訪問您發佈到,因爲你可以趕上一個事實,即返回的數據不是一個JSON對象的頁面特別有用。
我已經用一些基本的Ajax調用對它進行了測試,它似乎工作得很好。儘管你在答案上打了30秒。 – adeneo 2012-04-16 18:07:18