【问题标题】:Returning XML from webmethod从 web 方法返回 XML
【发布时间】:2011-07-30 14:35:46
【问题描述】:

我正在使用 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 进行反序列化。的长度 字符串超过了 maxJsonLength 属性设置的值。

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

【问题讨论】:

  • 错误是什么?是在服务器还是客户端?

标签: javascript ajax xml vb.net webmethod


【解决方案1】:

这个question 似乎是你想要的,但根据答案,默认值为 4MB。如果您真的想要向客户端返回这么多数据,我会调查一下(想象一下某人的互联网连接速度非常慢)。

【讨论】:

  • 由于某种原因,默认值对我来说要低得多。将其增加到 4MB 似乎可以解决问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 1970-01-01
  • 2020-06-04
  • 2020-04-05
  • 2010-11-28
  • 2018-07-19
  • 1970-01-01
相关资源
最近更新 更多