jsonp响应中的非法字符

时间:2010-06-26 20:40:15

标签: ajax cross-domain jsonp illegal-characters

嗨,我正在做练习,我正试图使用​​javascript / ajax抓取nytimes网站的内容。

为了发送跨域ajax请求,我使用的是一个代理服务器,它使用nytimes网站内容返回jsonp响应。

但是因为那个html内容有一些字符(单引号)会引发“非法字符”错误。

<script type="text/javascript" src="http://json-proxy.jgate.de/?callback=callback&url=http%3A%2F%2Fwww.nytimes.com%2F"></script>
<script>
function callback(obj) {
 alert(obj);
}
</script>

这个错误的可能解决方案是什么? 还有什么其他方法可以解决这个问题?

由于

(p.s。在他的采访中向我的一位朋友询问了这个问题)

更新:这是雅虎管道链接相同。 http://pipes.yahoo.com/pipes/pipe.run?_id=748e37c218ed0747d0b868ae8eafefa6&_render=json

2 个答案:

答案 0 :(得分:0)

您必须转义服务器上的字符。

callback('<!DOCTYPE html PUBLIC \"-//W...etc.') // notice the \"-//W

而不是:

callback('<!DOCTYPE html PUBLIC "-//W...etc.') // which will eventually create an error

/ \ '等所有特殊字符转义为 / < / em>, \ ...

答案 1 :(得分:0)

雅虎管道解决了这个问题。