从webmethod返回XML

时间:2011-07-30 14:35:46

标签: 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().InnerXml;
   Return strXML
End Function

这是javascript:

function loadGrid(){
    PageMethods.getXML(myCallback);
} 

//This function doesn't get called if strXML is too long
function myCallback(strXML){
    useXML(strXML);
}

这是错误:

  

Microsoft JScript运行时错误:Sys.Net.WebServiceFailedException:   服务器方法'getXML'失败,出现以下错误:   System.InvalidOperationException--序列化期间出错或   使用JSON JavaScriptSerializer进行反序列化。的长度   string超出maxJsonLength属性上设置的值。

所以我的问题是:有没有更好的方法将XML从VB传递到javascript,或者是一种允许大字符串传递而没有错误的方法?

1 个答案:

答案 0 :(得分:1)

question似乎是您想要的,但根据答案,默认值为4MB。我会调查你是否 想要向客户端返回如此多的数据(想象一下网络连接速度很慢的人)。