Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2012, 19:47
nip nip вне форума
Интересующийся
Отправить личное сообщение для nip Посмотреть профиль Найти все сообщения от nip
 
Регистрация: 09.10.2012
Сообщений: 24

Как присвоить значение переменной которое возвращает аякс?
всем привет, вот функция
function SendData(id){
    $.ajax({
        url: 'test.php',
        data : 'postVar=' + id,
        type : "POST",
        success: function (data) {
            alert ("Pattern fo ID: " + data);
        }
    });
}

data возвращает строку из бд, как ее присвоить переменной уже в жс файле?
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2012, 20:03
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Попробуй, только у меня там событие error - тестил, лень на сервере было...
function SendData(id){
    res = $.ajax({
        url: 'test.php',
        data : 'postVar=' + id,
        type : "POST",
        error: function (data) {
            res = "Pattern fo ID: " + data;
        }
    });
	return res;
}

console.log(SendData(1))
Ответить с цитированием
  #3 (permalink)  
Старый 29.10.2012, 23:21
nip nip вне форума
Интересующийся
Отправить личное сообщение для nip Посмотреть профиль Найти все сообщения от nip
 
Регистрация: 09.10.2012
Сообщений: 24

спасибо, а подскажите как быть, у меня в этой переменной два массива из бд, с именами и фамилиями, как то можно их разбить на два отдельных массива? т.е. там в php-файле mysql_fetch_assoc возвращает $res['name'] и $res['female'] и они оба попадают в переменную data, а как их разделить можно?
Ответить с цитированием
  #4 (permalink)  
Старый 29.10.2012, 23:57
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

я так делаю:
1. на сервере возвращаю
$res['err'] = 1;
		$res['html'] = 'Не верный логин и/или пароль';
		echo json_encode($res);

2. а принимаю так
success: function(msg){
				var result = $.parseJSON(msg);
				if (result.err==0) {
					...
				}
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2012, 00:13
nip nip вне форума
Интересующийся
Отправить личное сообщение для nip Посмотреть профиль Найти все сообщения от nip
 
Регистрация: 09.10.2012
Сообщений: 24

не много не понял ваc, на сервере у меня
$array = mysql_fetch_assoc($result) or die(mysql_errno());
echo $array['female'] ;
echo $array['name'];
и попадают эти два массива в res
function SendData(id){
    res = $.ajax({
        url: 'test.php',
        data : 'postVar=' + id,
        type : "POST",
        error: function (data) {
            res = "Pattern fo ID: " + data;
        }
    });
	return res;
}
А как сделать чтобы каждый массив был в разной переменной? прошу прощения, я нубик в программинге
Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2012, 06:35
Аватар для NikolasGrad
Аспирант
Отправить личное сообщение для NikolasGrad Посмотреть профиль Найти все сообщения от NikolasGrad
 
Регистрация: 12.04.2012
Сообщений: 49

$array = mysql_fetch_assoc($result) or die(mysql_errno());
echo json_encode(str_replace('\'', '"', $array));

function SendData(id) {
	res = $.ajax({
		url : 'test.php',
		data : 'postVar=' + id,
		type : "POST",
		dataType : "json",
		success : function (data) {
			res = "Pattern fo ID: " + data.female + " " + data.name;
		}
	});
	return res;
}

Последний раз редактировалось NikolasGrad, 30.10.2012 в 11:38.
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2012, 12:30
nip nip вне форума
Интересующийся
Отправить личное сообщение для nip Посмотреть профиль Найти все сообщения от nip
 
Регистрация: 09.10.2012
Сообщений: 24

привет, когда так data.female или так data.name, то выдает undefined, а когда просто data то {"name":"Dima, Anya","female":"bla, bla"}, это через алерт если, а переменная рес возвращает даже не массив а object xmlhttprequest
function SendData(id){
    result = $.ajax({
        url: 'test.php',
        data : 'postVar=' + id,
        type : "POST",
        success: function (data) {
            alert(data)
            console.log(data)
            return data;
        }
    });
    return result;
}

файл пхп я оставил, так потому что я эти два массива сплитом уже в жаваскрипте буду разбивать
$array = mysql_fetch_assoc($result) or die(mysql_errno());
echo json_encode($array);
Ответить с цитированием
  #8 (permalink)  
Старый 30.10.2012, 14:08
nip nip вне форума
Интересующийся
Отправить личное сообщение для nip Посмотреть профиль Найти все сообщения от nip
 
Регистрация: 09.10.2012
Сообщений: 24

всем спасибо, получлось
Ответить с цитированием
  #9 (permalink)  
Старый 30.10.2012, 14:13
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

nip,
обрати внимание, у него в запросе стоит dataType : "json",, что означает ждем json-данные. У меня же втупку ответ разбирается var result = $.parseJSON(msg);
Ответить с цитированием
  #10 (permalink)  
Старый 30.10.2012, 14:31
nip nip вне форума
Интересующийся
Отправить личное сообщение для nip Посмотреть профиль Найти все сообщения от nip
 
Регистрация: 09.10.2012
Сообщений: 24

да-да, в этом и была все проблема
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? DeUre Общие вопросы Javascript 14 17.12.2013 16:37
Как ajax запрос присвоить переменной zeraid jQuery 23 08.03.2013 12:48
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25
Как присвоить переменной содиржимое тега h1 Leonline Общие вопросы Javascript 1 19.06.2008 22:27