当前位置: 首页 > 面试题库 >

使用AJAX(XMLHttpRequest)查询Wikipedia的API

阎鸿煊
2023-03-14
问题内容

我正在尝试使用AJAX(XMLHttpRequest)实现对Wikipedia
API的简单请求。如果我在Firefox的地址栏中键入url,则会得到一个整齐的XML,在那儿不费吹灰之力。但是,使用以下命令调用完全相同的网址:

// this is my XMLHttpRequest object
httpObjectMain.open("GET", "http://en.wikipedia.org/w/api.php?action=query&format=xml&prop=langlinks&lllimit=500&titles=kaas", true);
httpObjectMain.send(null);

返回空响应。根据FireBug,我得到200 OK响应,但是内容只是空的。

我怀疑我可能在GET http请求的标头上缺少某些内容。

救命!(谢谢!)


问题答案:

WikipediaAPI确实支持JSONP。您的查询字符串将变成这样:

http://en.wikipedia.org/w/api.php?action=query&format=json&callback=test&prop=langlinks&lllimit=500&titles=kaas

但是您必须构建jsonp处理程序(或可以使用自己喜欢的库来执行此操作),从您选择的xml切换到json输出格式,并创建回调函数以解析结果并在页。



 类似资料:
  • 问题内容: 嗨,我正在尝试使用此代码发送带有xmlhttprequest的文件。 但我收到此错误:请求被拒绝,因为未找到多部分边界,请帮助我。 问题答案: 没有这样的事情; 文件对象不应该以这种方式附加。 不发送文件。您必须使用对象将文件包装到post数据对象中: formData.append(“thefile”, file); xhr.send(formData); 之后,可以访问文件(如果您

  • 问题内容: 我知道有很多类似的问题,但是我仍然没有找到解决问题的方法。我正在尝试使用XMLHttpRequest上传文件,因此我开发了以下代码: PHP端脚本是: 但是var $ _FILES [‘file’]似乎为空,这意味着该文件未发送到服务器。然后,我决定在下面的代码中使用FormData对象 它可以正常工作,但文件大小只有8mb左右。当我尝试发送大小超过8mb的文件时,该var 再次变空

  • 问题内容: 我正在尝试使用POST方法编写XMLHttpRequest。我过去已经使用GET方法设法使用XMLHttpRequest,但是在POST方面却很挣扎。 这是我的代码: 它基本上调用PHP脚本,然后将一些信息添加到数据库中。 问题答案: 好吧,我已经设法对它进行了排序。 奇怪的原因虽然可能与沙箱安全性有关,但是我没有使用完整的URL地址,而是使用了文件的相对路径,现在可以使用了。 谢谢大

  • 问题内容: 我知道firebug可以跟踪页面上的所有Ajax / XHR事件。但是我需要准备一个工具,该工具可以自动跟踪已经存在的网页上的按钮点击。 我的网页的HTML和JS结构如下: HTML: JS: 任何人都可以建议如何借助其他JavaScript或其他工具来跟踪此ajax调用吗?基本上,我需要获得按钮单击时的调用,在此示例中:“ / Ajax / getCall / callUser /”

  • 问题内容: 这是根据提供的示例验证geoJSON的代码: 我正在尝试使用以下代码进行验证: 在此,我提出实际要求: 我在Chrome控制台中收到此错误: 标题 这是与请求相关的数据: 问题答案: 您不应该将其设置为请求标头,而是响应标头。 您可以从响应中看到服务器将接受哪些请求标头: 错误消息告诉您: 似乎也可能不接受。

  • 问题内容: 我在JavaScript中使用。但是,这给了我一个错误,我不知道我的问题是什么。 我必须解析一个XML文件并将其内容分配给网页-这是我的代码: 我的XML文件在同一目录中。 仅供参考,我通常使用C#或Java进行编程,并且我在Google Chrome上运行我的网站。 问题答案: 因此,这里可能有些错误。 首先,请先阅读如何使用,因为还有第三个可选参数用于指定是否发出异步请求, 默认为