2016-05-17 5 views
-1

У меня есть страница javascript, вызывающая другую страницу. , когда вызывается вторая страница, я отправляю данные запроса на сервер sql, чтобы узнать, сколько времени вызывается вторая страница. Но всегда вижу это только один раз. я добавил динамический строку запроса, чтобы предотвратить кэш из браузера это мой код:Функция вызова страницы Javascript

for(i=1;i<=30;i++) 
{ 
    var q="eeee?id=" + i; 
    window.location=q; 
} 

Но alwayes увидеть эти 2 записей в базе данных вместо 31 записей:

javacall ==> первой страницы, Java вызов функции

ээээ ID = 30

почему страница называется в 30 вызова, а не от 1 до 30, например:?

javacall

ээээ? ID = 1

.

.

.

ээээ? ID = 30

ответ

0

Браузер не проверяет, чтобы увидеть, если location изменилось, пока JavaScript не остановлен (не слишком занят, работает на JavaScript до сих пор).

Когда цикл дойдет до конца, он будет установлен на последнее значение. В данный момент браузер регистрирует, что он изменился и загружает новый URL.

Если это не так, то первое изменение на это приведет к тому, что браузер покинет текущую страницу ..., которая уничтожит среду выполнения, выполняемую скриптом, прекратит выполнение сценария и не приведет к последующим URL-адресам запросить.

Если вы хотите сделать несколько HTTP-запросов из JavaScript, используйте Ajax. Обычно вы делаете это через the XMLHttpRequest object.

Смежные вопросы