Javascript jQuery只从API检索某些单词
当我通过jQuery在我的字典服务中向API搜索一个单词时,我只会返回某些单词和所有复数单词,例如: 我可以搜索“单词”并获得定义,但我搜索“单词”时唯一的反应是“单词的复数形式”。但是当我搜索“test”时,当你在web浏览器中搜索URL时有定义时,我什么也没有得到 我觉得问题出在以下部分:Javascript jQuery只从API检索某些单词,javascript,jquery,html,json,Javascript,Jquery,Html,Json,当我通过jQuery在我的字典服务中向API搜索一个单词时,我只会返回某些单词和所有复数单词,例如: 我可以搜索“单词”并获得定义,但我搜索“单词”时唯一的反应是“单词的复数形式”。但是当我搜索“test”时,当你在web浏览器中搜索URL时有定义时,我什么也没有得到 我觉得问题出在以下部分: if (json !== "No definition has been found.") 这是JavaScript: $(document).ready(function(){ $('#term')
if (json !== "No definition has been found.")
这是JavaScript:
$(document).ready(function(){
$('#term').focus(function(){
var full = $("#definition").has("definition").length ? true : false;
if(full === false){
$('#definition').empty();
}
});
var getDefinition = function(){
var word = $('#term').val();
if(word === ''){
$('#definition').html("<h2 class='loading'>We haven't forgotten to validate the form! Please enter a word.</h2>");
}
else {
$('#definition').html("<h2 class='loading'>Your definition is on its way!</h2>");
$.getJSON("http://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=" +word+ "&pretty=true&callback=?", function(json) {
if (json !== "No definition has been found."){
var meanings = "";
json["tuc"].forEach(function(tuc) {
tuc["meanings"].forEach(function(m) {
meanings += "<p>"+m["text"]+"</p>\n";
});
});
$("#definition").html(meanings);
}
else {
$.getJSON("http://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=&pretty=true" + "?callback=?", function(json) {
console.log(json);
$('#definition').html('<h2 class="loading">Nothing found.</h2><img id="thedefinition" src=' + json.definition[0].image.url + ' />');
});
}
});
}
return false;
};
$('#search').click(getDefinition);
$('#term').keyup(function(event){
if(event.keyCode === 13){
getDefinition();
}
});
});
$(文档).ready(函数(){
$('#term')。焦点(函数(){
var full=$(“#定义”).has(“定义”).length?true:false;
如果(完整===错误){
$(“#定义”).empty();
}
});
var getDefinition=function(){
var word=$('#term').val();
如果(字==''){
$('#definition').html(“我们没有忘记验证表单!请输入一个单词。”);
}
否则{
$('#definition').html(“您的定义正在进行中!”);
$.getJSON(“http://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=“+word+”&pretty=true&callback=?”,函数(json){
if(json!=“未找到任何定义”){
var=”;
json[“tuc”].forEach(函数(tuc){
tuc[“意义”]。forEach(功能(m){
含义+=“”+m[“文本”]+“\n”;
});
});
$(“#定义”).html(含义);
}
否则{
$.getJSON(“http://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=&pretty=true“+”?回调=?”,函数(json){
log(json);
$('#definition').html('未找到');
});
}
});
}
返回false;
};
$(“#搜索”)。单击(获取定义);
$('#term').keyup(函数(事件){
如果(event.keyCode===13){
getDefinition();
}
});
});
这是HTML:
字典Web应用程序
词典应用
定义
由马修·休斯创作
如果有人有任何想法或有类似问题,请发表评论 请您将此代码添加到JSFIDLE中好吗?
意思
在搜索test
时不是tuc
的子项。是的,刚刚意识到,但它是其他单词的子项。有什么办法可以解决这个问题吗?if(obj.hasOwnProperty('means'))
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="Matthew Hughes">
<meta name="Dictionary" content="A dictionary web service">
<title>Dictionary Web Application</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
<script src="dictionary.js"></script>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="container">
<div id="top">
<header>
<h1>Dictionary Application</h1>
</header>
</div>
<div id="app">
<input type="text" placeholder="Enter a word..." id="term" />
<button id="search">Define!</button>
<section id="definition">
</section>
</div>
<footer>
<p>Created by Matthew Hughes</p>
</footer>
</div>
</body>