我通过Apache在我的服务器上托管一个网页。从那里我使用jquery.ajax()
来请求数据。
function get_trials() {
$.ajax(
{method:"POST",
url:"https://annotatie01.io.tudelft.nl:80/get_trial",
success: function(response) {
data = response;
data_holder = data;
trials = {};
for(count=0;count < data_holder['trials'].length;count++)
{trials[count] = {'meta':{}};
trials[count]['meta'] = {'url':data_holder['trials'][count][0]};}
}
})
}
在服务器端,我正在运行Flask。
@app.route('/send_data',methods=['POST'])
def send_data(): # is actually receiving data here
data = request.json['data']
print(data)
write_data_to_database(data)
return jsonify(reply = 'Ok')
我的代码似乎在大多数情况下都能正常运行。然而,由于我无法确定我的服务器的原因,我不时地返回ERR_TIMED_OUT。当它发生时,它会持续一段时间这样做,之后它会“再次”起作用。它似乎与使用来自不同机器的get_trials()
有些相关,因为它似乎更有可能在从不同机器调用时返回超时。然而,这也不一致,因为在其他时候我可以从3台不同的机器成功调用它。
当它返回超时时,服务器永远不会收到post请求。
我如何追踪并解决此错误?