У меня есть локальный веб-сервер, работающий на порту 4444. Этот веб-сервер обслуживает html-страницы и другие файлы, которые идут нормально. Однако, когда я пытаюсь получить данные JSON с сервера, я получаю тайм-аут с ошибкой ERR_EMPTY_RESPONSE в консоли Javascript. Если я загружаю JSON в качестве страницы, он отображается правильно.JQuery JSON вызывает возврат ERR_EMPTY_RESPONSE тайм-аут
Я тестировал Chrome и Firefox. Оба не отображают никаких ошибок, кроме таймаута, и ERR_EMPTY_RESPONSE в Chrome.
- Возможно, JSON ошибочно отформатирован.
- Возможно, возникла другая проблема, связанная с доменами (я считаю, что я размещаю локально).
- Или мои HTTP-заголовки ошибочны.
Это мои данные JSON.
[
{
"x": "286.610989010989",
"y": "43.716483516483514",
"r": "103.5956043956044",
"g": "127.81208791208792",
"b": "143.07472527472527"
},
{
"x": "286.610989010989",
"y": "43.716483516483514",
"r": "103.5956043956044",
"g": "127.81208791208792",
"b": "143.07472527472527"
},
]
Это мой вызов ajax. Я также попытался установить тип содержимого.
function getData() {
$.ajax({
url: "/data",
type: "json",
timeout: 3000,
success: actData,
complete: getData,
error: function(xhr, status, error) {
console.log(error);
}
});
}
Это мои HTTP-заголовки. Я попытался установить тип контента в application/json и text/html.
os.print("HTTP/1.0 200" + "\r\n");
os.print("Content-Type: text/plain" + "\r\n");
os.print("Content-Length: " + data.length() + "\r\n");
os.print("\r\n");
os.write(data);
Кто-то может исправить меня, если я ошибаюсь, но я думаю, что эта ошибка означает, что браузер получил заголовки файлов, но содержимое файла было пустым. Это заставило бы меня подозревать, что «данные» по какой-то причине не имели значения. –
Я могу открыть/данные в браузере, и он всегда показывает хорошо. Я попытался добавить его с помощью http: // host: 4444, но это не проблема. – RobotRock
Последнее предположение для вас. Можете ли вы попробовать прокомментировать строку Content-Length? –