来自第三方网站的基本jQuery ajax



短版本

我在使用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. 

最新更新