从 ajax 请求将控制信号发送回客户端的最佳实践方法是什么?

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

本文关键字:最佳 方法 是什么 客户端 请求 ajax 控制 信号      更新时间:2023-09-26

当我从 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);