Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   заставить функцию работвать (https://javascript.ru/forum/misc/33900-zastavit-funkciyu-rabotvat.html)

adik7960 13.12.2012 13:36

заставить функцию работвать
 
Здравствуйте у меня произошла небольшая проблема, я буду очень признателен если вы поможете в ее решении.

я написан такое
function $post(url,data,func) {
  var oXmlHttp = createXMLHttp();
        
   oXmlHttp.open("POST",url,true);
   oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   
   oXmlHttp.onreadystatechange = function() {
    if(oXmlHttp.readyState == 4) {
	    console.info("open: "+url);
        if(oXmlHttp.status == 200) {
            var text = oXmlHttp.responseText;
            setTimeout(func,0);
        } else {
            info("Ошибка: " + oXmlHttp.statusText, 0);
        }
    }
   };
   oXmlHttp.send(data);
}


Эту функцию я могу использовать так
#post('func.php', 'code=1234567890', 'if(text==1) {alert(1)}');

так вот я указал чтто если сервер отвечает цифрой 1, то я вылезет сообщение, а у меня значение text не предается setTimeout(func,0);
, а если я использую вместо этого это setTimeout(function() {func},0);
значение передается но функция в переменной не выполняется

Hoshinokoe 13.12.2012 14:34

adik7960,

Используй так:
$post('func.php', 'code=1234567890', function(text) {if(text==1) {alert('1');}
});

И вместо setTimeout(func,0); сделай:
setTimeout(function () {func(text);},0);

adik7960 13.12.2012 15:22

Цитата:

Сообщение от Hoshinokoe
setTimeout(function () {func(text);},0)

пишет ошибку Uncaught TypeError: string is not a function

Hoshinokoe 13.12.2012 18:13

adik7960,

ТЫ это тоже исправил ?
$post('func.php', 'code=1234567890', function(text) {if(text==1{alert('1');}});

adik7960 13.12.2012 22:04

А вот не правильно написал просто, спасибо)


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