2016-11-22 2 views
0

Моя команда делает статистический API разработан без ответа (это хороший дизайн?). Это означает, что передняя часть должна сделать статистический запрос и немедленно отменить requset. В противном случае запрос приведет к тому, что браузер начнет загружать статус при загрузке страницы.Как сделать статистический запрос без ответа?

Я не могу использовать XMLHttpRequest() из-за перекрестного домена и заголовков CROS. Я пытаюсь использовать Image(), чтобы немедленно выполнить запрос и удалить объект изображения. Но он все равно заставляет браузер застревать.

Я пытаюсь использовать iFrame для запроса. Но мой руководитель сказал, что это то же самое, что и Image().

Доза любой знает, как сделать requset без ответа, и браузер не застрянет?

Извините за мой английский. Я знаю, что это отстой.

+0

' (Это хороший дизайн?) '- очевидно, это не так, потому что он заставляет клиентов пытаться его использовать. Они должны ПОЛНОСТЬЮ закрыть сокет –

+0

И изображение ** является ** запросом, и если вам удастся заставить браузер сбой, включив простой образ отслеживания, вы явно что-то делаете неправильно – adeneo

+0

@JaromandaX Я согласен с вами , Но они отказываются менять этот дизайн, а resone «не нужно». Я думаю, они просто ленивы. – JamesYin

ответ

0

с использованием XMLHttpRequest с соответствующим установленным тайм-аут и с собственно «исключение» обработки (вы получите тайм-аут) - вы должны быть в состоянии контролировать запрос, чтобы он не оказывает отрицательного эффекта браузер

function pingAPI(url) { 
    var xhr = new XMLHttpRequest() 
    xhr.timeout = 300; // 300 milliseconds - adjust as required 
    xhr.open("GET", url); 
    xhr.addEventListener('timeout', function(e) { 
     // you may not even need this 
    }); 
    xhr.send(); 
} 
Смежные вопросы