JSONP和一个非常长的响应与转义字符

时间:2011-11-08 08:24:30

标签: javascript unicode jsonp

我遇到了以下问题:我正在向返回HTML代码的服务发送AJAX请求。此代码中有unicode字符,将使用通常的\ u ....

进行转义

问题是,这个响应很长,jQuery将这些jsonp函数拆分成几个函数。这不是问题,除了事实,当那些转义的角色将被分割出来时,如jsonp463827("...blabhalbha\ud0");jsonp546114("0x8blablabla..."); 然后它给出了一个错误,表示Hexcode是预期的,因为它无法拆分那些转义的字符。

是否有任何解决方案可以阻止这种情况?

1 个答案:

答案 0 :(得分:1)

究竟要归还什么?示例地址?

我不认为jQuery在这里进行分裂。 JSONP的本质必须返回一个JavaScript语句块,以便在<script>标记中直接执行。客户端无法获取该内容以进行拆分或以其他方式处理它,因为这将是一个跨站点脚本漏洞,这是JSONP旨在解决的问题。

我认为您可能需要查看该服务。我不确定为什么会尝试将响应拆分为多个函数调用,因为传入的字符串长度没有限制。可能命中的限制是Firefox的脚本解析器堆栈limit(请参阅bug 420869),但这适用于整个返回的脚本块,因此拆分为多个函数调用将无济于事。