[英]Ajax message best practices
說我需要使用ajax異步地向服務器請求包含相關數據的xml文件。 此消息的外觀最佳做法是什么? 應該是像get_data
類的字符串還是類似的東西? 應該是xml嗎? 我真的不需要長時間的輪詢,因為它是一次(或接近它)的請求。
謝謝。
您可以使用標准的HTTP Post或Get將請求發送到您的服務器。 如果您不需要在服務器端腳本中指定任何參數(user_id等),則只需將get_data
作為url參數附加就可以了。
http://www.domain.com/script?get_data
如果需要將任何參數發送到服務器以檢索數據,則最好將參數編碼為JSON或XML並將其作為AJAX請求的數據部分發送。 使用JQuery和JSON數據:
$.ajax({
type: "GET",
url: "http://www.domain.com/script",
data: { key: "value", key2: "value2" },
async: true,
dataType: "json",
success: function( data, textStatus ) {
someCallbackFucntion( data );
}
});
該消息應為網址。
例如: http : //www.example.com/get_data可以以所需的格式(xml,json)返回所需的數據。
如果您需要其他數據,請使用其他網址。 http://www.example.com/someotherdata
這實際上取決於目的,如果其他所有內容都是XML,則選擇XML。 我個人認為JSON(至少對於客戶端而言)。
在最近的實現中,我使用了一個簡單的POST請求,其中的鍵代表數據的類型,值包含應返回的時間間隔。
可能是(jQuery):
$.ajax({
type: "POST",
url: "http://www.domain.com/script",
data: { stock_value: "last_30_min", group_activity: "last_20" },
async: true,
dataType: "json",
success: function( data, textStatus ) {
someCallbackFucntion( data );
}
});
然后,服務器端控制器將適當地處理該請求,而客戶端端將知道在返回時期望什么數據。 而且,密鑰和值在客戶端和服務器端都是人類可讀的。 當然,時間間隔可以是時間戳,也可以是其他時間戳,無論需要如何。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.