当我从 Ajax 请求将信号发送回客户端时,我使用这种形式:
<!--a_b-->
因此,如果某些我不解析它,并且它最终出现在 html 中,它不会破坏任何东西,因为它是一个评论。
a
和b
表示传达信息的值,而_
是分隔符。
我不禁想知道其他人如何从 ajax 请求中发送回“控制”信号。
使用 ajax 将控制信号从服务器发送到客户端的最佳方式是什么?
当我从 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"}
然后在浏览器中,您可以解析它并使用以下命令访问“key”:
var response = JSON.parse(data);
alert(response.key);