我是 AJAX 新手,但作为概述,我想知道您可以上传和下载哪些格式。它是否仅限于 JSON 或 XML,或者您甚至可以发送二进制类型,如 MP3 或 UTF-8 HTML。最后,您是否可以完全控制数据(例如字节数组之类的逐字节数据),或者只是发送/接收的字符串。

有帮助吗?

解决方案

如果我们谈论我们正在谈论的JavaScript AJAX?和约XMLHTTPRequest的?

在的XMLHttpRequest这仅仅是一个HTTP请求可以传输的一切。但在JavaScript中没有字节数组。只有字符串,数字和等。你从一个Ajax调用得到的所有的事情都是由文字(responseText的)的。这可能被解析成XML(它给你reponseXML)。特殊编码应该更多HTTP传输的问题。

二进制东西不依赖阿贾克斯但JavaScript的依赖性。有一些奇怪的编码字符串提供内部以JavaScript(尤其是图像)字节的数据,但它不是一个通用的解决方案。

HTML是没有问题的,这是最突出的使用情况。从这种类型的请求你递送的HTML字符串和被添加到在该解析HTML每innerHTML的DOM的一些节点。

其他提示

由于数据是通过HTTP传输你必须确保你使用某种编码。其中最流行的是base64编码。 http://www.webtoolkit.info/javascript-base64.html:您可以找到更多的信息

的方法是为base64编码数据要在服务器(或客户端)发送和然后的base64解码数据和按预期使用原始数据。

可以传送任何类型的数据的字符串或字节

您可以发送任何你喜欢的,问题可能是如何处理它,一旦你得到它;)

标准HTML大概是在使用Ajax内容最常见的类型有 - 你可以选择字符编码过,虽然它总是最好坚持使用一种类型的编码

AJAX只是意味着你通过HTTP使用的JavaScript调用异步传输数据。所以,你的脚本可以使用XMLHttpRequest()对象“正常”的HTTP请求。然而,正如其名称所暗示的,实际上它仅适用于基于文本的数据格式,因为你通常要与你从服务器回来(并不总是不过,有时候人们只需发送的XMLHttpRequest只需要数据在客户端执行一些动作更新服务器上的东西)。

在一个方面说明,我从未见过,其中,发送的二进制数据将是适当的反正的应用程序。

大多数情况下,人们选择在将数据发送到服务器以POST或GET(这基本上转移固有HTTP名称 - 值对的方法)。用于发送更复杂的数据,例如分层结构,它们需要以某种方式进行编码。可以将XML文档本身制成每JavaScript的,送过来的服务器并解析成任何所需的数据类型。但是,因为XML可以是有点痛,许多开发者使用JSON编码的数据,而不是因为它很容易生成和容易解析。

什么服务器发回同样为任意的。通常情况下,你指定你的Javascript来处理输入数据的回调函数。再次,流行的选择是XML和JSON,它们分别容易解析成一个文档对象或阵列结构。您还可以发送纯文本或一些其他的包装,但请记住,你就必须把它从自己提取可用数据的照顾。有时,它也可以是有益的,实际的HTML片段发送给客户端,更新直接在页面上的东西。

对于初学者来说,我建议你看看JQuery的。这是一个非常轻量级的框架,很多抽象的邪恶相容性的东西,可以让你写的AJAX请求,非常漂亮。

您可以移动任何可以通过HTTP发送。大约有同一域从,但不是在转移的内容加载页面所取得的呼叫限制。你可以做GET或POST交易了。

有一个 挖掘博客 条目标题为 DUI.Stream 和 MXHR 这展示了他们所谓的“多部分xmlhttprequests”。现在是alpha代码,但是有一个 处理图像的演示.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top