2011-07-30 116 views
0

我正在使用ajax PageMethod來調用一個asp.net webmethod。從那裏我試圖通過很多的XML回到一個回調JavaScript函數。從webmethod返回XML

目前我只是將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 runtime error: Sys.Net.WebServiceFailedException: The server method 'getXML' failed with the following error: System.InvalidOperationException-- Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.

所以我的問題是:有沒有更好的方式來傳遞從VB到JavaScript的XML,還是一種允許大字符串傳遞而沒有錯誤的方法?

+0

什麼是錯誤?在服務器還是客戶端? – dbb

+0

剛剛發佈了上面的錯誤。 – Urbycoz

回答

1

question似乎是你想要的,但根據答案默認值是4MB。我會考慮如果你真的想要將這麼多的數據返回給客戶端(只要想象一個人在一個非常緩慢的互聯網連接)。

+0

由於某種原因,我的默認值要低得多。把它增加到4MB似乎有訣竅。謝謝! – Urbycoz