Андрей в рубрику JavaScript

Вопрос: $.ajax внутри функции

function foo(str) {
    var result;
    $.ajax({
        url  : '/ajax/?p=validate',
        data : 'value=' + str,
        dataType : 'text',
        success  : function(data, textStatus){
            result = data;
        }
    });
    return result;
}

Подскажите как реализовать такую функцию. Т.е. чтобы foo() возвращала ответ сервера на Ajax-запрос.

Задайте свой вопрос

Если у вас есть вопрос по разработке или дизайну сайтов, вы можете задать его на Временно.нет и тысячи наших читателей помогут вам найти на него ответ.

Задать свой вопрос

Расскажите друзьям

Ответы на вопрос — 5

Grin
А разве эта не возвращает?
#
Grin
Андрей
К сожалению нет.
Инициализировал в начале ложью
var result = false;

потом на сервере явно и тупо возвращал истину, числа, строки, но result как был ложью, так ложью и остался.
#
Андрей
Neformal
Эта функция не вернет ответа от сервера, так как на момент ее исполнения ответа еще не будет. Нужно перестроить логику вашей программы. Для того чтобы увидеть в чем здесь проблема запустите тестовую функцию


function foo(str) {
    var result;
    $.ajax({
        url  : '/ajax/?p=validate',
        data : 'value=' + str,
        dataType : 'text',
        success  : function(data, textStatus){
            result = data;
            alert (result);
        }
    });
    alert (result);
}


Alert исполнится два раза, один раз вернет null, а второй ваш ответ с сервера.
#
Neformal
Владимир
Попробуй:

$.ajax({
...
async: false;
...
});
#
Владимир
Денис
Решение такое:
function myjsfunc(input) {
		var result = $.ajax({
		  url: \"test.php\",
		  async: false
		}).responseText;
		console.log(\"Выхлоп = \" + result);
		return result;
	}

Новый ответ

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler