Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cleverbot API调用偶尔返回400。即使输入相同_Javascript_Jquery_Api_Rest_Web - Fatal编程技术网

Javascript Cleverbot API调用偶尔返回400。即使输入相同

Javascript Cleverbot API调用偶尔返回400。即使输入相同,javascript,jquery,api,rest,web,Javascript,Jquery,Api,Rest,Web,我正在使用cleverbot.io API尝试通过将其结果包装到Yandex机器翻译API中来构建一个西班牙语机器人 Cleverbot的API经常返回400错误,但我无法找到原因。 是错误的屏幕截图 我的请求代码基于cleverbot.io上提供的代码示例: function submitMessage() { var start = new Date().getTime(); var x = $("#message").val(); // get user's message

我正在使用cleverbot.io API尝试通过将其结果包装到Yandex机器翻译API中来构建一个西班牙语机器人

Cleverbot的API经常返回400错误,但我无法找到原因。 是错误的屏幕截图

我的请求代码基于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
}
函数submitMessage(){
var start=new Date().getTime();
var x=$(“#消息”).val();//获取用户的消息
push(x);//推送到输入数组
//附加到HTML
var x2='Username@date/time'+x+'

'; 控制台日志(“输入:+x”); $(“.messages”).append(x2);//添加新响应 $(“.mSent”).html(input.length); ask(x,函数(err,response){//collect输出 //捕获400错误并返回消息“我不明白,请询问其他问题!” var y=响应; 控制台日志(“输出:+y”); output.push(y);//将输出存储在输出数组中 变量y2='Juarez@date/time'+y+'

'; $(“.messages”).append(y2);//添加新响应 $(“.mRec”).html(output.length); var end=new Date().getTime(); var时间=结束-开始; 总时间+=时间; avgTime=(totalTime/(input.length+output.length)); $(“.mTime”).html(avgTime.toFixed(1)); }); $(“#消息”).val(“”);//重置输入表单 }
根据我在这个网站和其他网站上的研究,我相信400错误描述了一个错误的请求,通常是因为错误的URL。但是,正如您在屏幕截图中所看到的,一些请求是相同的,一个将通过,而另一个不会


如果有人能给我提供一个简短的代码片段,描述用从web表单收集的输入调用此API的更好方法,我将不胜感激

你能在该错误中发布文本以及标题/响应吗?我不熟悉Cleverbot.io API,但他们可能会使用HTTP 400作为自定义错误代码,并且在响应正文中包含自定义代码。你检查过了吗?@Arcanecaraeda这是错误回复:谢谢,你能在网络标签上发布标题和回复吗?而且@NarbehMirzaei的假设可能是正确的。@Arcanecaraeda我将研究如何从网络选项卡获取标题和响应,我不认为这是一个选项。然而,在函数末尾添加几秒钟的超时似乎提高了它正常工作的频率。我想函数可能会在得到响应之前终止。这是400错误的合理原因吗?