Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   результат от запроса jquery (https://javascript.ru/forum/misc/14392-rezultat-ot-zaprosa-jquery.html)

korner 14.01.2011 12:38

результат от запроса jquery
 
Во общем отправляю post запрос на php файл и он может вернуть несколько результатов, либо информацию либо sql ошибку или сам результат.
Есть идея как проверить, но что то не работает, догадываюсь почему.
Вот скрипт проверки:

function operator(result){
    if(result.info)   show_error(result.info);
    if(result.sesion) show_error(result.sesion);
    if(result.sql)    show_sql  (result.sql);
    if(!result.info && !result.sql && !result.sesion) return true;
}


Результат запроса от php файла:

print "{info:'Не указан id'}"; exit;


Вызов функции:

$.post(файл php,function(data){
    operator(data);
})


Раньше где то видел подобное но не могу найти.
Как я понял все и за того что data это строка, мне говорили перевести через eval но увы не подходит.

Пока не знаю как правильно оформить я не говорю именно так, может есть другой вариант.

Может есть у кого идеи! Буду благодарен :)

korner 14.01.2011 15:08

Нашол решение


function strpos( haystack, needle){

	var i = haystack.indexOf( needle );
	return i >= 0 ? true : false;
}

function operator(result){
    
    if(strpos(result, 'seting =')){
        result = eval(result);
    }

    if(result.info)   show_error(result.info);
    if(result.sesion) show_error(result.sesion);
    if(result.sql)    show_sql  (result.sql);
    if(!result.info && !result.sql && !result.sesion) return true;
}



Может не супер но работает :yes:
И все же может есть и получше ?

DooMer 14.01.2011 15:20

var res = eval('(' + result+ ')');
alert(res.info);

korner 14.01.2011 16:05

Цитата:

Сообщение от DooMer (Сообщение 87996)
var res = eval('(' + result+ ')');
alert(res.info);

Ага eval не работает если в result содержит html код.
Толь ка если это javascript, поэтому пришлось сделал проверку результата на java это или html. Вот и весь фокус. ;)


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