Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Переменная в $.ajax (https://javascript.ru/forum/jquery/10673-peremennaya-v-%24-ajax.html)

tosha 15.07.2010 06:54

Переменная в $.ajax
 
var timestamp=0;
arr=[];

function update()
{
	alert(""+timestamp+"");
	$.ajax({
		type: "GET",
		url: "update.php",
		cache: false,
		data: "timestamp="+timestamp+"",
		dataType: "script"
	});
}

setInterval('update()',10000);


По таймауту обновляются js массив arr и переменная timestamp.
Запрос постоянно уходит с timestamp=0, хотя alert вылетает с обновленной переменной. В чем проблема?

Panzermaus 15.07.2010 13:09

По-видимому, проблема в том скрипте, который загружает $.ajax().

З.Ы. alert() для отладки использовать фигово, так как он работает по-разному в разных браузерах.

Kolyaj 15.07.2010 13:15

Цитата:

Сообщение от Panzermaus
alert() для отладки использовать фигово, так как он работает по-разному в разных браузерах.

Как по разному?

Panzermaus 15.07.2010 13:31

В одних браузерах при висящем alert-е события не обрабатываются, а в других - таки да (по крайней мере некоторые).

Kolyaj 15.07.2010 13:35

Panzermaus,
например?

Panzermaus 15.07.2010 14:06

Например, при висящем alert-е событие XMLHttpRequest.onreadystatechange (которое, собсно, ТС и отлаживает), не обрабатывается в Opera, но обрабатывается в FF и IE. За Safari и Chromе не скажу, нет под рукой.

tosha 15.07.2010 16:51

Да событие происходит, массив и переменная обновляются, а $.ajax упорно не видит обновления. Уж голову сломал.

Panzermaus 15.07.2010 17:38

tosha, а можете привести еще и тот код, который загружается?

tosha 15.07.2010 18:12

timestamp = 111111111111;
arr[0] = ['time', 'name', 'msg'];
arr[1] = ['time', 'name', 'msg'];
arr[2] = ['time', 'name', 'msg'];
next();

Panzermaus 15.07.2010 18:40

  1. next() не трогает timestamp?
  2. Код из вашего первого сообщения находится внутри какой-то функции?
  3. Фреймы используете?
  4. timestamp - действительно число или вы упростили для наглядности?
  5. Не пробовали
    data: {"timestamp": timestamp},
    
    вместо
    data: "timestamp=" +  timestamp,
    
  6. Откуда узнаете, что запрос уходит с timestamp === 0?


Часовой пояс GMT +3, время: 06:14.