gpt4 book ai didi

javascript - cURL 和 jQuery AJAX 之间的 GitHub API 结果不同

转载 作者:行者123 更新时间:2023-11-30 17:31:11 25 4
gpt4 key购买 nike

我正在尝试按语言和位置查询 GitHub 的搜索用户 API。当我使用命令 curl https://api.github.com/search/users?q=location:denver+language:php我收到 146 个结果。但是,当我尝试使用 jQuery AJAX 时,我收到错误消息。

我的 JavaScript 代码:

var url = "https://api.github.com/search/users";

var request = {
q: "location:denver+language:php",
sort: "repositories",
order: "desc"
};

var result = $.ajax({
url: url,
data: request,
dataType: 'jsonp',
type: 'GET'
})
.done(function() {
alert(JSON.stringify(result));
})
.fail(function() {
alert('failed');
});

什么 alert(JSON.stringify(result));给出:

{
"readyState":4,
"responseJSON":{
"meta":{
"X-RateLimit-Limit":"10",
"X-RateLimit-Remaining":"9",
"X-RateLimit-Reset":"1397393691",
"X-GitHub-Media-Type":"github.beta",
"status":422
},
"data":{
"message":"Validation Failed",
"documentation_url":"https://developer.github.com/v3/search/",
"errors":[
{
"message":"None of the search qualifiers apply to this search type.",
"resource":"Search",
"field":"q",
"code":"invalid"
}
]
}
},
"status":200,
"statusText":"success"
}

当我在 q 上只使用一个限定符时它工作正常,result.responseJSON.data对象包含通常由 cURL 提供的信息.

最佳答案

使用空格字符代替加号 (+)。将您的查询更改为:

q: "location:denver language:php",

它会按预期工作,因为 jquery 会将这个空格字符转换为加号。

关于javascript - cURL 和 jQuery AJAX 之间的 GitHub API 结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23043035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com