短版本
我在使用jQuery的AJAX方面遇到了问题。
这是我的小提琴。。我不断得到undefined
作为从get()
返回的响应。如何从查询中获取html?
长版本
目前,这只是一个想法。我找到了一个网站http://www.pin1yin1.com/它直接在注释标记后的url末尾接受查询,比如:http://www.pin1yin1.com/#中文
——它为给定的汉字返回一个非常好的拼音。
我正在考虑编写一个googlechrome扩展,它可以像许多页面翻译工具一样,自动在文档中内联ruby ify中文文本。
要做到这一点,我必须解释该网站的结果。它们看起来总是这样:
<tr class="characters">
<td><a href="/dict/zi/中">中</a></td>
<td><a href="/dict/zi/文">文</a></td>
</tr>
<tr class="pinyin">
<td>zhōng</td>
<td>wén</td>
</tr>
我需要将其转换为ruby,我可以将其注入到页面中,例如:
<ruby>中
<rt><a href="/dict/zi/中">zhōng</a></rt>
</ruby>
<ruby>文
<rt><a href="/dict/zi/文">wén</a></rt>
</ruby>
所以我的问题是,我该怎么做?我在使用jQuery的AJAX方面遇到了问题。
这是我的小提琴。。我一直从get()
得到undefined
作为响应
正如您所发现的,除非与服务器合作,否则您无法在客户端代码中读取来自单独来源的回复。
但是,Chrome扩展可以向其他网站发送请求,只要您在清单的权限部分列出它们。
您正在进行跨站点脚本调用。也称为XSS。这意味着您调用的域不是您网站运行的域。请参阅http://en.wikipedia.org/wiki/Cross-site_scripting
当我运行您的示例时(其中geturl中包含错误),您应该替换http://http://www.pin1yin1.com具有http://www.pin1yin1.com)我在控制台中看到XSS错误:
XMLHttpRequest cannot load http://www.pin1yin1.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.