来自网页的消息未定义

我正在从webmethod返回一个简单的字符串到Javascript函数。

我在ASP.NET 2.0中使用支持AJAX的网站。 我在firefox中获取日期但在IE 8中它返回undefined

我是否必须使用一些序列化类来解析JSON格式的字符串? 在我的网络方法中,我只是使用:

  return DateTime.Now.ToString(); 

  $(document).ready(function(){ var pageUrl = ''; // Test $('#').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)’在firefox中有效但在IE 8中没有用asp.net 2.0

也许你不想使用它,但我对asp net ajax build in function非常满意,因为它构建了一个在浏览器上正常工作的头文件。

 $(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 …