Javascript 从webmethod返回XML
我正在使用ajax PageMethod调用asp.net webmethod。从这里开始,我尝试将大量XML传递回回调javascript函数 目前,我只是将XML转换成字符串,并以该格式传递它。但是,如果字符串太长,似乎会导致错误 下面是VB:Javascript 从webmethod返回XML,javascript,ajax,xml,vb.net,webmethod,Javascript,Ajax,Xml,Vb.net,Webmethod,我正在使用ajax PageMethod调用asp.net webmethod。从这里开始,我尝试将大量XML传递回回调javascript函数 目前,我只是将XML转换成字符串,并以该格式传递它。但是,如果字符串太长,似乎会导致错误 下面是VB: <System.Web.Services.WebMethod()> _ Public Shared Function getXML() As String Dim strXML strXML=getLoadsOfXML().I
<System.Web.Services.WebMethod()> _
Public Shared Function getXML() As String
Dim strXML
strXML=getLoadsOfXML().InnerXml;
Return strXML
End Function
以下是错误:
Microsoft JScript运行时错误:Sys.Net.WebServiceFailedException:
服务器方法“getXML”失败,出现以下错误:
System.InvalidOperationException-序列化或
使用JSON JavaScriptSerializer进行反序列化。长度
字符串超过maxJsonLength属性上设置的值
因此,我的问题是:有没有更好的方法将XML从VB传递到javascript,或者有没有更好的方法允许无错误地传递大字符串?这似乎是您想要的,但根据答案,默认值是4MB。如果您真的想向客户端返回这么多数据,我会调查一下(想象一下,有人的互联网连接速度非常慢)。有什么错误?是在服务器上还是在客户机上?出于某种原因,默认值对我来说要低得多。将其增加到4MB似乎可以达到目的。谢谢
function loadGrid(){
PageMethods.getXML(myCallback);
}
//This function doesn't get called if strXML is too long
function myCallback(strXML){
useXML(strXML);
}