如何在Javascript中使用Wordnik API获取随机单词?

时间:2014-10-29 04:17:41

标签: javascript html api wordnik

我正在尝试使用HTML和Javascript创建一个刽子手游戏,并且我想知道如何使用wordnik API获得随机单词。

我不明白如何获得这个词然后返回。我已经注册了apiKey,但我一直对如何使用API​​的AJAX和JSON部分以及它如何与之结合感到困惑Javascript。

2 个答案:

答案 0 :(得分:7)

根据对文档的快速搜索,您应该能够通过以下方式获取随机单词列表:

http://api.wordnik.com:80/v4/words.json/randomWords?hasDictionaryDef=true&minCorpusCount=0&minLength=5&maxLength=15&limit=1&api_key=a2a73e7b926c924fad7001ca3111acd55af2ffabf50eb4ae5

实际上,您正在寻找一个随机单词列表,其中包含一个单词的限制(limit=1)。

显然,请使用您自己的api_key而不是文档中提供的演示密钥。

参考文献:

答案 1 :(得分:0)

Kinda很晚,但是现在每个人都在使用React进行所有操作,因此您可以尝试以下方法:

<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
<script type="text/babel">

const wordnik = 'https://api.wordnik.com/v4/words.json/randomWord?&minLength=5&maxLength=-1&api_key=';
const API_KEY = '';

class FetchData extends React.Component {
    state = {
      word: '',
    }

    componentDidMount() {
      fetch(wordnik + API_KEY)
      .then(res => res.json())
      // Uncomment here if you have API_KEY
      // .then(json => this.setState({ word: json.word }))

      // Comment here if you have API_KEY
      .then(json => this.setState({ word: json.message }))
      .catch(err => console.log(err.message));
    }
    render() {
        return <h1>{this.state.word}</h1>;
    }
}

ReactDOM.render(<FetchData />, document.getElementById('root'));
</script>

<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
<script type="text/babel">
const wordnik = 'https://api.wordnik.com/v4/words.json/randomWord?&minLength=5&maxLength=-1&api_key=';
const API_KEY = '';

class FetchData extends React.Component {
    state = {
      word: '',
    }

    componentDidMount() {
      fetch(wordnik + API_KEY)
      .then(res => res.json())
      // Uncomment here if you have API_KEY
      // .then(json => this.setState({ word: json.word }))
      
      // Comment here if you have API_KEY
      .then(json => this.setState({ word: json.message }))
      .catch(err => console.log(err.message));
    }
    render() {
        return <h1>{this.state.word}</h1>;
    }
}

ReactDOM.render(<FetchData />, document.getElementById('root'));
</script>