jQuery的$.post方法二进制安全吗?只是出于纯粹的兴趣,所以请不要假设任何事情。
如果是,那么所有的ajax函数都是二进制安全的吗?
发布于 2012-10-04 15:54:28
通常,二进制安全意味着它不是以null结尾的,任何类型的字符都可以包含在将要使用的字符串中,这主要意味着函数可以处理任何类型的二进制数据(图像、音乐等)。
问题是:您不能对AJAX请求使用二进制文件。你不能上传文件,也不能处理二进制文件作为响应(只有文本输出)。这不是关于jQuery,而是关于它在较低级别上的工作方式。XmlHttpRequest不能处理这些事情。
由于底层技术不支持请求或响应的二进制数据,因此$.post也不支持。
现在,在HTML5上,我们有了管理AJAX的二进制数据和文件的方法:https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
然而,这是“新东西”。因此,只需等待它在多个浏览器中得到支持,然后它可能会被框架采用:)目前,只有FF支持它( XMLHttpRequest.prototype.sendAsBinary方法)。你可以通过使用Blobs在Chrome上获得类似的功能,但这是不同的。
发布于 2012-10-04 15:59:40
简而言之,不是,因为您必须纠正自己的处理程序。另外,并不是所有的浏览器都支持二进制文件ajax传输...
请参阅论坛帖子:http://forum.jquery.com/topic/jquery-get-support-binary-type
发布于 2012-10-04 16:36:08
你只需要在这里检查二进制安全函数的定义
http://whatis.techtarget.com/definition/binary-safe-function
https://stackoverflow.com/questions/12722304
复制相似问题