我正在使用cleverbot.io API尝试通过将其结果包装在Yandex机器翻译API中来构建西班牙语机器人。
Cleverbot的API通常会返回400错误,但我无法追踪原因。 Here是错误的屏幕截图。
我提出请求的代码基于cleverbot.io提供的代码示例:
function submitMessage() {
var start = new Date().getTime();
var x = $("#message").val(); // get user's message
input.push(x); // push to array of inputs
// append to HTML
var x2 = '<div class="panel"><h5>Username @ date/time</h5><p>' + x + '</p></div>';
console.log("input: " + x);
$(".messages").append(x2); // add new response
$(".mSent").html(input.length);
bot.ask(x, function (err, response) { // collect ouput
// CATCH 400 error and return message "I don't understand, please ask something else!"
var y = response;
console.log("output: " + y);
output.push(y); // store output in output array
var y2 = '<div class="panel callout"><h5>Juarez @ date/time</h5><p>' + y + '</p></div>';
$(".messages").append(y2); // add new response
$(".mRec").html(output.length);
var end = new Date().getTime();
var time = end - start;
totalTime += time;
avgTime = (totalTime / (input.length + output.length));
$(".mTime").html(avgTime.toFixed(1));
});
$("#message").val(''); // reset input form
}
根据我对本网站及其他网站的研究,我认为400错误通常会因为网址格式错误而导致错误请求。但是,正如您在屏幕截图中看到的那样 - 一些请求是相同的,一个将通过,而另一个请求不会。
如果有人能够提供一小段代码,描述使用从网络表单收集的输入调用此API的更好方法,我们将不胜感激。