Сообщение с веб-страницы не определено - PullRequest
0 голосов
/ 31 января 2011

Я возвращаю простую строку из веб-метода в функцию Javascript.

Я использую веб-сайт с поддержкой AJAX в ASP.NET 2.0.Я получаю дату в Firefox, но внутри IE 8 она возвращает undefined.

Нужно ли анализировать строку в формате JSON с использованием некоторого класса сериализации?В моем веб-методе я просто использую:

    return DateTime.Now.ToString();

 $(document).ready(function(){
     var pageUrl = '<%=ResolveUrl("~/test/test.aspx")%>';

        // Test
        $('#<%=trgNo.ClientID%>').change(function(){
            var trgId = $(this+'input:checked').val();

            $.ajax({
                type: "POST",
                url : pageUrl+ '/getDet',
                data : '{categ: "' +trgId + '"}',
                contentType:"application/json; charset=utf-8",
                dataType:"json",
                success:OnSuccess,
                failure: function(msg){
                    if(msg.hasOwnProperty("d"))
                        alert(msg.d);   
                    else
                        alert('error fetching values from database');
                   }
                });
        });

        function OnSuccess(msg)
        {
        if(msg.hasOwnProperty("d"))
            alert(msg.d);
        else
            alert(msg);
        }
});

Редактировать Кажется, функция успеха запускает проблему с ответом 'alert (msg)' worksв Firefox, но не в IE 8 с asp.net 2.0

1 Ответ

0 голосов
/ 01 февраля 2011

Может быть, вы не хотите использовать это, но я очень доволен встроенной функцией asp net ajax asp, так как она создает заголовок, который корректно работает в браузерах.

$(document).ready(function(){
     var pageUrl = '<%=ResolveUrl("~/test/test.aspx")%>';

        // Test
        $('#<%=trgNo.ClientID%>').change(function(){
            var trgId = $(this+'input:checked').val();

            var proxy = Sys.Net.WebServiceProxy;
            proxy.invoke("",                // if current page "", if webservice "/srv.asmx"
                         "getDet",              //method name
                         false,                 //post = true, get = false 
                         { categ : trgId },     //javascript object
                         OnSuccess,             // Success Function
                         onError,               // Error Function
                         { yourOwn : userData } // Custom User Data to Handler
            );

        });

        function OnSuccess(response, usercontext)
        {

            // usercontext.yourOwn === userData;

            // response is sent WITHOUT "d", it is removed internally by the proxy 

        alert(response);
        }

});

Не забудьте включить ScriptManager ...

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