假設我這樣做(而不必傳遞到服務器和從服務器),即這樣的事情?信息傳遞到jQuery的Ajax響應處理功能
$.get("/api/GetComments?post=" + post, function(data, id_of_div_to_update) {
var a = JSON.parse(data);
$("div[id=" + id_of_div_to_update + "]").text(a);
});
假設我這樣做(而不必傳遞到服務器和從服務器),即這樣的事情?信息傳遞到jQuery的Ajax響應處理功能
$.get("/api/GetComments?post=" + post, function(data, id_of_div_to_update) {
var a = JSON.parse(data);
$("div[id=" + id_of_div_to_update + "]").text(a);
});
通常有在此沒有必要爲在封閉(功能)範圍你的AJAX調用現場,這意味着它知道一些額外的數據,需要可視化回調數據(用戶定義的任何數據需要):
// ...
(function(){
// ...
var id_of_div_to_update = '#output';
// ...
$.get("/api/GetComments?post=" + post, function(data) {
var a = JSON.parse(data);
console.log("comments=" + a.count);
console.log("div_to_update=" + id_of_div_to_update);
});
})();
那麼首先你可以傳遞數據對象,它是更清晰可讀,而不是通過它的網址.. 使用getJOSN得到儘可能JSON響應,其中包括格的,你需要的ID更新
$.getJSON(url, {"post":post},function(data) {
console.log("comments=" + data.count);
console.log("div_to_update=" + data.id_of_div_to_update);
}
你的反應應該像
{"count":1,"id":12}
更新
,因爲我假設你已經知道div的ID來更新你可以將它設置成一個變量,並在以後使用它
var id_of_div_to_update="something";
$.getJSON(url, {"post":post},function(data) {
console.log("comments=" + data.count);
console.log("div_to_update=" + id_of_div_to_update);
}
是的,你可以添加獲得成功後執行的AJAX回調函數或獲取請求失敗。例如
$.ajax({
url: url,
data: data,
success: function(response){
console.log(response)
// process
},
});
如果你的jQuery版本高於1.8,你應該使用'done','fail'和'always'回調。 更多信息可在http://api.jquery.com/jQuery.get/找到。
'id_of_div_to_update'是DOM元素的html屬性ID?我的意思是不是來自服務器的價值? – rab
你可以像'var callback =(function(id){return function(data){//這裏你得到id和data};})(id_of_div_to_update);' – rab