当我从Ajax请求向客户端发送信号时,我使用以下形式:
<!--a_b-->
所以,如果有些我不解析它,它最终在html中它不会破坏任何东西,因为它是一个评论。
a
和b
表示在_
是分隔符时传达信息的值。
我不得不想知道其他人如何从ajax请求发回“控制”信号。
使用ajax从服务器向客户端发送控制信号的最佳方法是什么?
答案 0 :(得分:6)
我只想使用JSON。您的客户端无论如何都必须知道如何解释响应,因此在html注释中对其进行编码并不是很有用。它只是意味着您以后需要额外的工作来解析。 if some how I don't parse it
只是意味着您有一个应该修复的错误。
答案 1 :(得分:3)
绝对使用JSON包。没有办法让它意外“最终进入html”,所以这不应该是一个问题。
接收JSON响应,检查您的特殊属性(说明),然后根据返回的内容做出相应的响应。
{ "reload": "http://www.google.com" }
或者
{ "alert": "HEY BUDDY!"}
答案 2 :(得分:1)
从技术上讲,ajax CALL应该接收XML。 确实存在用于接收此类数据的xhr.responseXML。
你不会破坏任何东西......
答案 3 :(得分:0)
使用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);