0

我有一个将 Json 值返回给 javascript 调用者的网络服务。由于我无法让 .NET 返回 JSON 格式,(即使我已将其设置为 ResponseFormat:=ResponseFormat.Json)(此外,这不是跨域请求)我必须设置 javascript 以接收它改为 JSONP。

这工作正常,直到返回值的字符长度开始增长。奇怪的错误开始出现。花了我几个小时,最后,我能找到的唯一模式是:

在“神奇”的 16352 个字符之后,它将在返回的值之间插入一个 ");jsonp1349260900225("。(1349260900225 <-- 这会发生变化,但格式保持不变)此后每 16352 个字符都会如此。在 javascript一方面,它只是接受响应并尝试将其解析为正常,从而导致错误出现在输出的随机区域。

以前有人遇到过这个问题吗?16352 个字符并不是很多,我根本无法减少长度来回避这个问题。

提前致谢。

以下是 firebug 返回值的片段:

lign=\u0027absMiddle\u0027 /\u003e\u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 align=\u0027absMiddle\u0027 /\u003e \u003cimg src=\u0027http://squarelet .com/images/smiley/Smile.gif\u0027 align=);jsonp1349260900225(u0027absMiddle\u0027 /\u003e\u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 align=\u0027absMiddle \u0027 /\u003e \u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 align=\u0027absMiddle\u0027 /\u003e\u003cimg src=\u0027http://squarelet.com/images /笑脸/Smile.gif\u0027 对齐=\

这是返回值的 Web 服务:

<WebMethod()> _
<ScriptMethod(UseHttpGet:=True, ResponseFormat:=ResponseFormat.Json)> _
Public Function L_C_H(ByVal CSI As String, ByVal CCI As String) As List(Of SquareLet.ChatManagement.Chat)

    Return SquareLet.ChatManagement.Chat.LoadHistory(Guid.Parse(CSI), Guid.Parse(CCI))

End Function
4

1 回答 1

0

您必须将 MaxJsonLength 设置为更大的值。该属性可能会限制您。

于 2012-10-03T12:00:33.347 回答