venkatesh (chennai) Ответов: 1

В функции javasctipt не удается вызвать мой метод..?


var Even = myfunction();

function myfunction() {
 var objTask = {
        SenderID: parseInt(sessionStorage.getItem('UserID')) //userid
    }
    var pass =[];
$.ajax({
        type: "POST",
        url: "http://localhost:49534/TaskManagement.svc/TaskList",
        data: JSON.stringify(objTask),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data, status, jqXHR, result) {
        debugger;
        for (i = 0; i < data.length; i++) {
              pass.push ({"title": data[i].TaskName});
            }
        }
    });
    alert("Loding...");
   return pass;
}


Что я уже пробовал:

когда описанный выше метод записывается в вызов ajax ...и метод не вызывает myfunction();

Я пытаюсь добавить " alert ("some text"); " конец строки для моей функции,затем они успешно вызываются ... и в то же время я удаляю окно оповещения, функция не вызывается...

плз помогите...

1 Ответов

Рейтинг:
10

F-ES Sitecore

Вы вызываете MyFunction до того, как она была определена, поэтому переходите к вызову to после того, как она была определена.

function myfunction() {
 var objTask = {
        SenderID: parseInt(sessionStorage.getItem('UserID')) //userid
    }
    var pass =[];
$.ajax({
        type: "POST",
        url: "http://localhost:49534/TaskManagement.svc/TaskList",
        data: JSON.stringify(objTask),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data, status, jqXHR, result) {
        debugger;
        for (i = 0; i < data.length; i++) {
              pass.push ({"title": data[i].TaskName});
            }
        }
    });
    alert("Loding...");
   return pass;
}

var Even = myfunction();


venkatesh (chennai)

не работать ...

F-ES Sitecore

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

venkatesh (chennai)

я пытаюсь отладить ...я не нашел никаких ошибок .....

venkatesh (chennai)

они работают, когда я добавляю alter box...иначе Не называйте эту функцию не работающей....

F-ES Sitecore

Вызов ajax не ждет ответа, поэтому он не останавливает ваш код. Вы делаете вызов ajax, а затем немедленно возвращаете "pass", который будет пустым массивом, он не ждет, пока событие успеха сработает и заполнит массив. Если это то, что вы хотите, то убедитесь, что вызов ajax является синхронным, поэтому установите для параметра async значение false в вашем вызове ajax, обратитесь к jQuery docs за точным синтаксисом.

http://api.jquery.com/jquery.ajax/

venkatesh (chennai)

теперь моя проблема решена...
Я изменился
асинхронные: ложные,

спасибо