Потеря данных при вызове JQuery к WebService - PullRequest
0 голосов
/ 13 июня 2009

Я сделал функцию JQuery, которая выполняет вызов веб-службы, веб-служба возвращает int, но где-то между веб-службой, возвращающей его значение, и JQuery, собирающим его, данные теряются. ниже моя функция Jquery:

//Make a call to a web service to get the latest number of comments for this item
    WebDesign.wfGetNumberOfCommentsForWebDesignItem(vintCurrentItemID,fGetNumberOfCommentsResult);

    function fGetNumberOfCommentsResult(GetNumberOfCommentsResult){
       //If the number of comments returned is not zero update the the number of comments
       if (GetNumberOfCommentsResult != -1 && GetNumberOfCommentsResult != null)
       {
          vspanCommentsNumber.html(GetNumberOfCommentsResult);
       }
       else
       {
          vspanCommentsNumber.html("Unknown");
       }
    }

Переменная GetNumberOfCommentsResult имеет значение null, не каждый раз, но я бы сказал, что примерно в 10% случаев. Я записал данные, которые веб-сервис возвращает в JavaScript, и он не нулевой, это действительные данные, поэтому я не знаю, как переменная JavaScript установлена ​​в нуль. Есть идеи?

Ответы [ 3 ]

1 голос
/ 13 июня 2009

Можете ли вы подтвердить, что вы выполняете это в обратном вызове, когда гарантированно завершен вызов веб-службы, а не какой-то синхронизированный метод, использующий setTimeout? во втором случае условие гонки может объяснить переменные результаты, которые вы получаете.

0 голосов
/ 13 июня 2009

Используя FireBug (дополнение для Firefox), на вкладке Консоль вы можете увидеть, какие данные возвращаются из вызова веб-службы, а также какие данные передаются.

Сначала убедитесь, что данные перемещаются вперед и назад. Это самый простой способ найти действительно воспроизводимый случай.

Также было бы полезно узнать, как вы вызываете веб-службу на стороне JavaScript.

0 голосов
/ 13 июня 2009

используйте fiddler или что-то похожее для мониторинга http-запросов и получения ответа, когда он нулевой, в этом должно быть что-то другое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...