从网页不确定的消息(Message from webpage undefined)

2019-10-29 05:59发布

我从返回一个WebMethod一个简单的字符串到JavaScript函数。

我正在使用ASP.NET 2.0的支持AJAX的网站。 我得到的日期在Firefox但里面的IE 8则返回undefined

我一定要分析在使用一些连载类JSON格式字符串? 在我的webmethod,我只是使用:

    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);
        }
});

编辑看来成功的功能是发射问题是响应“警报(MSG)”的作品在Firefox,但不是在IE 8与asp.net 2.0

Answer 1:

也许你不想使用这个,但I'm很高兴与ASP.NET的AJAX建立在功能上,因为它建立了一个头,可以正常工作在浏览器上。

$(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的...



文章来源: Message from webpage undefined