簡體   English   中英

從ajax請求向客戶端發送控制信號的最佳實踐是什么?

[英]What is the best practice way to send control signals back to the client from ajax request?

當我從Ajax請求向客戶端發送信號時,我使用以下形式:

<!--a_b-->

因此,如果我不進行某些解析,並且最終以html結尾,則它不會破壞任何內容,因為它是注釋。

ab表示傳遞信息的值,而_是分隔符。

我禁不住想知道其他人如何從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM