嗨,我正在做练习,我正试图使用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
答案 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)