[英]What is the best practice way to send control signals back to the client from ajax request?
當我從Ajax請求向客戶端發送信號時,我使用以下形式:
<!--a_b-->
因此,如果我不進行某些解析,並且最終以html結尾,則它不會破壞任何內容,因為它是注釋。
a
和b
表示傳遞信息的值,而_
是分隔符。
我禁不住想知道其他人如何從ajax請求中發回“控制”信號。
使用ajax從服務器向客戶端發送控制信號的最佳方法是什么?
我只會使用JSON。 您的客戶無論如何都必須知道如何解釋響應,因此將其編碼為html注釋並不是真正有用的。 這只是意味着您需要額外的工作來稍后解析。 if some how I don't parse it
意味着您有應該修復的錯誤。
絕對使用JSON包。 它不可能無意間“以html結尾”,因此不必擔心。
接收JSON響應,檢查您的特殊屬性(說明),然后相應地返回返回的內容。
{ "reload": "http://www.google.com" }
要么
{ "alert": "HEY BUDDY!"}
從技術上講,ajax CALL應該接收XML。 確實有一個xhr.responseXML用於接收此類數據。
你什么都不會破壞...
使用jQuery.ajax ,它將“代替您完成工作”。 一個非常簡化的示例:
$.ajax({
url:'http://example.com/path?foo=bar',
success: function(data) {
// data won't land anywhere unless you want it to
}
});
以及如何編碼您的回應? 我會說不要認為僅使用JSON。 在返回JSON編碼的對象(而不是JSON編碼的字符串)時,我看到了一個好處,因為可以輕松地用新變量擴展對象而不會破壞現有代碼,並且實際上沒有開銷。
因此,典型的響應可能類似於dontGoPlastic所說的:
{"key":"value"}
然后,在瀏覽器中,您可以解析它並使用以下命令訪問“密鑰”:
var response = JSON.parse(data);
alert(response.key);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.