维基百科API。找不到文件错误
Wikipedia API. File not found Error
我正在尝试制作维基百科搜索栏。这个想法是每次更改搜索输入时发送一个新的 AJAX 请求。我使用 https://www.mediawiki.org/wiki/API:Search_and_discovery 作为指导。
var search = $('#search');
search.keyup(function() {
if (search.val() === '') {
result.html('');
}
$.ajax({
url: '//en.wikipedia.org/w/api.php',
data: {
action: 'query',
list: 'search',
format: 'json',
srsearch: search.val()
},
dataType: 'jsonp',
success: function(response) {
console.log("success!");
}
});
});
然而,成功功能甚至没有被触发。
在任何按键上,我得到的错误是 ("d" pressed):
jquery-2.1.1.min.js:4 GET file://en.wikipedia.org/w/api.php?>callback=jQuery21107844703783826772_1484403407494&action=query&list=search&srse>arch=d&format=json&_=1484403407495 net::ERR_FILE_NOT_FOUND
提前感谢您的帮助或指导!
好吧,您可能正在尝试在没有本地服务器的情况下执行 AJAX 请求(直接在浏览器中打开文件)。
首先,您的 url
选项以 //en...
开头(没有协议)。它表示它将使用您正在使用的相同协议构建您的完整 url。在这种情况下:file://
。那是因为您的浏览器正在尝试访问 file://en.wikipedia.org/...
.
因此,您可以将 url 设置为 https://en.wikipedia.org/w/api.php
以使其正常工作。
只需替换:
url: '//en.wikipedia.org/w/api.php',
与:
url: 'https://en.wikipedia.org/w/api.php',
看起来您是 运行从文件系统中的一个简单 html 文件获取它,换句话说,不是从网络服务器(甚至本地)运行获取它.
尝试用
调用api
url: 'https://en.wikipedia.org/w/api.php'
或运行来自网络服务器的文件(可以是本地服务器)。
我正在尝试制作维基百科搜索栏。这个想法是每次更改搜索输入时发送一个新的 AJAX 请求。我使用 https://www.mediawiki.org/wiki/API:Search_and_discovery 作为指导。
var search = $('#search');
search.keyup(function() {
if (search.val() === '') {
result.html('');
}
$.ajax({
url: '//en.wikipedia.org/w/api.php',
data: {
action: 'query',
list: 'search',
format: 'json',
srsearch: search.val()
},
dataType: 'jsonp',
success: function(response) {
console.log("success!");
}
});
});
然而,成功功能甚至没有被触发。 在任何按键上,我得到的错误是 ("d" pressed):
jquery-2.1.1.min.js:4 GET file://en.wikipedia.org/w/api.php?>callback=jQuery21107844703783826772_1484403407494&action=query&list=search&srse>arch=d&format=json&_=1484403407495 net::ERR_FILE_NOT_FOUND
提前感谢您的帮助或指导!
好吧,您可能正在尝试在没有本地服务器的情况下执行 AJAX 请求(直接在浏览器中打开文件)。
首先,您的 url
选项以 //en...
开头(没有协议)。它表示它将使用您正在使用的相同协议构建您的完整 url。在这种情况下:file://
。那是因为您的浏览器正在尝试访问 file://en.wikipedia.org/...
.
因此,您可以将 url 设置为 https://en.wikipedia.org/w/api.php
以使其正常工作。
只需替换:
url: '//en.wikipedia.org/w/api.php',
与:
url: 'https://en.wikipedia.org/w/api.php',
看起来您是 运行从文件系统中的一个简单 html 文件获取它,换句话说,不是从网络服务器(甚至本地)运行获取它.
尝试用
调用apiurl: 'https://en.wikipedia.org/w/api.php'
或运行来自网络服务器的文件(可以是本地服务器)。