0

嗨,我正在做一个练习,我正在尝试使用 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>

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

谢谢

(ps这个问题是在我的一位朋友的采访中问到的)

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

4

2 回答 2

0

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

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

代替:

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

将所有特殊字符(如/\"'转义为/\ ...

于 2010-06-26T20:49:50.113 回答
0

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

于 2010-07-06T22:50:47.897 回答