响应时对象对象错误 javascript
object Object error javascript on response
我正在开发一个网页,当我输入一个词并按下按钮时,它会显示该词的含义。我得到一个 [object Object]
错误而不是单词的意思。
示例:
我输入的单词:code
通过 API 结果:
{"Verb": ["attach a code to", "convert ordinary language into code"], "Noun": ["a set of rules or principles or laws (especially written ones", "a coding system used for transmitting messages requiring brevity or secrecy", "(computer science"]}
JS:
var links={
'meaning': 'link here',
}
var getMeaning = function(word){
totalLink = links.meaning + word;
var r = new XMLHttpRequest();
r.open("GET",totalLink, false);
r.send();
var data;
if (r.status===200){
var resp= JSON.parse(r.responseText);
data=resp;
}
else{
data='Error while running AJAX';
}
return data;
}
var PDictionary = function(){
this.meaning = getMeaning;
}
HTML:
<input id='a' type='text'><br>
<button id='b'>Do it</button>
<p class='out'></p>
<script type="text/javascript">
var dictionary = new PDictionary();
function done(){
get();
}
function get(){
var word=document.getElementById('a').value;
meaning = dictionary.meaning(word);
document.querySelector('.out').innerHTML = meaning;
}
var button = document.querySelector('#b');
button.addEventListener('click',function(){
get();
});
</script>
在我的控制台“响应”选项卡上,我明白了这个词的意思,但在网页上,我收到了错误
当它 returns [object Object]
时,您实际上并没有收到错误。那只是您的对象的字符串表示形式。您需要做一些事情来从对象本身提取实际的 属性 名称和值。您可以像下面的示例那样尝试 for loop。
var x, m = '';
for (x in meaning) {
m += x + "<br />" + meaning[x].join("<br />") + "<br /><br />";
}
这里有一个 JSFiddle,可让您了解如何将其实现到您自己的代码中。
https://jsfiddle.net/up2jrzp6/
我正在开发一个网页,当我输入一个词并按下按钮时,它会显示该词的含义。我得到一个 [object Object]
错误而不是单词的意思。
示例:
我输入的单词:code
通过 API 结果:
{"Verb": ["attach a code to", "convert ordinary language into code"], "Noun": ["a set of rules or principles or laws (especially written ones", "a coding system used for transmitting messages requiring brevity or secrecy", "(computer science"]}
JS:
var links={
'meaning': 'link here',
}
var getMeaning = function(word){
totalLink = links.meaning + word;
var r = new XMLHttpRequest();
r.open("GET",totalLink, false);
r.send();
var data;
if (r.status===200){
var resp= JSON.parse(r.responseText);
data=resp;
}
else{
data='Error while running AJAX';
}
return data;
}
var PDictionary = function(){
this.meaning = getMeaning;
}
HTML:
<input id='a' type='text'><br>
<button id='b'>Do it</button>
<p class='out'></p>
<script type="text/javascript">
var dictionary = new PDictionary();
function done(){
get();
}
function get(){
var word=document.getElementById('a').value;
meaning = dictionary.meaning(word);
document.querySelector('.out').innerHTML = meaning;
}
var button = document.querySelector('#b');
button.addEventListener('click',function(){
get();
});
</script>
在我的控制台“响应”选项卡上,我明白了这个词的意思,但在网页上,我收到了错误
当它 returns [object Object]
时,您实际上并没有收到错误。那只是您的对象的字符串表示形式。您需要做一些事情来从对象本身提取实际的 属性 名称和值。您可以像下面的示例那样尝试 for loop。
var x, m = '';
for (x in meaning) {
m += x + "<br />" + meaning[x].join("<br />") + "<br /><br />";
}
这里有一个 JSFiddle,可让您了解如何将其实现到您自己的代码中。 https://jsfiddle.net/up2jrzp6/