准确的长轮询示例?

Tim*_*Tim 5 javascript ajax jquery json long-polling

我已经制作了一个函数,该函数应该进行长时间的轮询并获取“推送”给我的实时数据。现在,我正在测试一个json对象,该对象的格式设置为一旦接收到数据便会看起来像它。到目前为止,它似乎工作正常。我只是想知道您对此有何看法?您会以某种方式重构它还是以另一种方式完全重构它?

var url = '../../path_to_script/respondents.json';

function fetchData() {
  $.ajax({
    url: url,
    method: 'GET',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    cache: false,
    success: function (data) {
        //parseData(data);
        setTimeout(function () { fetchData() }, 5000);
        console.log(data);
    },
    error: function (data) {
        setTimeout(function () { fetchData() }, 5000)
    }

 });

}
Run Code Online (Sandbox Code Playgroud)

问候

Edg*_*ado 1

我会做一些改变

  • 更改methodtype,method不是 的有效参数$.ajax。这是一个错误
  • 删除contentType, withdataType: 'json'就足以拥有这些值
  • 出现错误时做某事。如果需要,请使用错误参数。例如:

error: function (xhr, status, errorThrown) {
  alert("There was an error processing your request.\nPlease try again.\nStatus: " + status);
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。干杯