gpt4 book ai didi

javascript - jquery JSON 从查询字符串中删除分隔符

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

我正在尝试使用 Jquery UI Autocomplete使用 Thesaurus API 检索任何单词的同义词.

我需要发出以下 json GET 请求来访问 API

http://words.bighugelabs.com/api/{version}/{api key}/{word}/{format}

然而,Jquery 生成以下返回 404 Not Found

http://words.bighugelabs.com/api/?v=2&key=mykey&word=some-word&format=json

是否可以轻松移除分隔符?

脚本

$(function() {
function log( message ) {
$( "<div/>" ).text( message ).prependTo( "#log" );
$( "#log" ).scrollTop( 0 );
}

$( "#thesaurus" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://words.bighugelabs.com/api/",
dataType: "json",
data: {
v: "2",
key: "mykey", //actually numbers
word: request.term,
format: "json"
//maxRows: 12,
//name_startsWith: request.term
},
success: function( data ) {
response( $.map( data.geonames, function( item ) {
return {
label: item.name + (item.noun ? ", " + item.noun : "") + ", " + item.syn,
value: item.name
}
}));
}
});
},
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
},
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
});

HTML

    <input id="thesaurus" />

</div>

<div class="ui-widget" style="margin-top:2em; font-family:Arial">
Result:
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
</div>

最佳答案

$.ajax() 函数的数据参数的重点是创建一个查询字符串(POST 和 GET 都使用查询字符串,它们只是作为请求的不同部分发送有效载荷)。您只想使用简单的字符串连接来构建您的 URL。

$.ajax({
url: "http://words.bighugelabs.com/api/2/mykey/" + request.term + "/json",
dataType: "json",
success: function( data ) {
response( $.map( data.geonames, function( item ) {
return {
label: item.name + (item.noun ? ", " + item.noun : "") + ", " + item.syn,
value: item.name
}
}));
}
});

您有静态版本、api key 和格式参数,但如果它们是动态的,则 url 将如下所示:

"http://words.bighugelabs.com/api/" + version + "/" + api_key + "/" + request.term + "/" + format

为了使您的代码更简洁一些,您甚至可以:

"http://words.bighugelabs.com/api/" + [version,api_key,request.term,format].join("/")

关于javascript - jquery JSON 从查询字符串中删除分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11171335/

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