如何使用 api 设置要翻译的文本值
How to set text value to translate using api
我想制作一个将英语翻译成 Yodish 的简单应用程序,但我不知道如何指示我的文本框的值。
我正在尝试获取数据文本属性。我管理如何替换适当字段中的文本,但我仍然得到初始值而不是当前值。
这是我得到的:https://imgur.com/k5vdLes
更准确地说,我是这样做的:
"data": { text: $("#input").val() }
我要实现这个效果:https://www.yodaspeak.co.uk/
这是数据内容:https://imgur.com/GMUkem3
var settings = {
"async": true,
"crossDomain": true,
"url": "https://yodish.p.rapidapi.com/yoda.json?text=Master%20Obiwan%20has%20lost%20a%20planet.",
"method": "POST",
"headers": {
"x-rapidapi-host": "yodish.p.rapidapi.com",
"x-rapidapi-key": "...",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
text: $("#input").val()
}
}
$("#button").click(function() {
$.getJSON(settings).done(function(data) {
$("#result").text(data.contents.translated);
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="translator">
<input type="text" id="input" value="Obi wan">
<button id="button">Convert to Yoda-Speak!</button>
<textarea id="result"> Asdasdas. Herh herh herh.</textarea>
</div>
问题是 where/when 您定义了 settings
的值 您需要在点击函数中执行此操作才能获得输入的当前值(请参阅代码段)。这就是为什么你总是得到初始值,因为你在它被改变之前阅读它。
$("#button").click(function() {
var settings = {
"async": true,
"crossDomain": true,
"url": "https://yodish.p.rapidapi.com/yoda.json",
"method": "POST",
"headers": {
"x-rapidapi-host": "yodish.p.rapidapi.com",
"x-rapidapi-key": "...",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
text: $("#input").val()
}
}
$.getJSON(settings).done(function(data) {
$("#result").text(data.contents.translated);
})
console.log(settings.data)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="translator">
<input type="text" id="input" value="Obi wan">
<button id="button">Convert to Yoda-Speak!</button>
<textarea id="result"> Asdasdas. Herh herh herh.</textarea>
</div>
我想制作一个将英语翻译成 Yodish 的简单应用程序,但我不知道如何指示我的文本框的值。
我正在尝试获取数据文本属性。我管理如何替换适当字段中的文本,但我仍然得到初始值而不是当前值。
这是我得到的:https://imgur.com/k5vdLes
更准确地说,我是这样做的:
"data": { text: $("#input").val() }
我要实现这个效果:https://www.yodaspeak.co.uk/
这是数据内容:https://imgur.com/GMUkem3
var settings = {
"async": true,
"crossDomain": true,
"url": "https://yodish.p.rapidapi.com/yoda.json?text=Master%20Obiwan%20has%20lost%20a%20planet.",
"method": "POST",
"headers": {
"x-rapidapi-host": "yodish.p.rapidapi.com",
"x-rapidapi-key": "...",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
text: $("#input").val()
}
}
$("#button").click(function() {
$.getJSON(settings).done(function(data) {
$("#result").text(data.contents.translated);
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="translator">
<input type="text" id="input" value="Obi wan">
<button id="button">Convert to Yoda-Speak!</button>
<textarea id="result"> Asdasdas. Herh herh herh.</textarea>
</div>
问题是 where/when 您定义了 settings
的值 您需要在点击函数中执行此操作才能获得输入的当前值(请参阅代码段)。这就是为什么你总是得到初始值,因为你在它被改变之前阅读它。
$("#button").click(function() {
var settings = {
"async": true,
"crossDomain": true,
"url": "https://yodish.p.rapidapi.com/yoda.json",
"method": "POST",
"headers": {
"x-rapidapi-host": "yodish.p.rapidapi.com",
"x-rapidapi-key": "...",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
text: $("#input").val()
}
}
$.getJSON(settings).done(function(data) {
$("#result").text(data.contents.translated);
})
console.log(settings.data)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="translator">
<input type="text" id="input" value="Obi wan">
<button id="button">Convert to Yoda-Speak!</button>
<textarea id="result"> Asdasdas. Herh herh herh.</textarea>
</div>