2011-10-15 54 views
0

在一個簡單的Ajax後例子:Ajax發佈成功數據:你能分開結果嗎?

$.post('ajax/test.php', function(data) { 
$('.result').html(data); 
}); 

有什麼辦法來分隔結果數據做兩個不同的東西?即:

$.post('ajax/test.php', function(data) { 
$('.result').html(data.partone); 
$('.other-result').html(data.parttwo); 
}); 

我運行一個ajax請求,當頁面加載,我試圖讓我在一個POST所需的一切。如果可能的話,你如何在PHP端定義不同的數據部分? (即:data.partone和data.parttwo)

+0

如果我的回答對您有幫助,請接受它作爲正確答案,以便將此問題標記爲已解決。如果你仍然有問題,我很樂意提供幫助。謝謝! –

回答

4

您可以返回數據JSON編碼字符串,一個關聯數組使用json_encode(),例如:echo json_encode(array("partone" => "data1", "parttwo" => "data2"));

這種方法你可以訪問它data.partonedata.parttwo。另外值得一提的是,您應該在$.post()中定義dataType以讀爲JSON。爲此,您需要添加另一個參數,指定要返回的數據類型 - JSON。

例如:$.post('ajax/test.php', function(data) { ... }, "JSON");

另外值得一提的是,你應該只返回此json_encode()輸出從AJAX腳本回來,否則jQuery將無法解析它的權利。

0

AJAX調用只返回一個響應,該響應存儲在該變量data變量中。但是,您的服務器端代碼返回的結果與您的答案相同,您在JavaScript中使用它的方式也取決於您。

假設你要返回一些你想要在網頁上製作一些元素的內容的HTML,你可以做的是以一種可以用Javascript區分的方式分開這兩部分。也許沿着線的東西:

/* part one here */|parttwo|/* part two here */ 

然後你只需要在拆分data「| parttwo |」字符串,並使用結果數組的元素來設置不同元素的內容。

+0

這不是一個好的做法,而且隨着應用程序的進步,很難保持和擴展。 –