javascript – 解析时,Jquery将巨大的数组分解成许多新的回调

前端之家收集整理的这篇文章主要介绍了javascript – 解析时,Jquery将巨大的数组分解成许多新的回调前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我偶然发现一个小问题.
我收到一个 JSON响应,其中包含一个具有67615个条目的字节数组.
现在,它增加了一个
`[....,154,156,);jQuery1910039778258679286416_1363006432850(181,104,...]

每〜7300个字符

现在,当我使用ajax方法来解析它是如何正常工作的,它给我一个错误,因为回调使响应无效
元素列表后面的SyntaxError:missing]

…,184,1,26,65,140,​​86,211,16,194,210,174,1); jQuery17203250109862964784_13639643449 …

所以它不再有效了

我用它来解析它

$.ajax({
    url : url,cache : false,dataType : "jsonp",crossDomain : true,success : function(root) {
        console.log(root)

    }
})

这可能是asp服务器给我的对象或解决方法有问题吗?

提前致谢

EDIT1:

[WebMethod(Description = " ",EnableSession = true)]
[ScriptMethod(UseHttpGet = true,ResponseFormat = ResponseFormat.Json)]

public Borrower getSessionedBorrowerHeader(ref sysmessage aMessage)
{
    if (!(userValidated(ref aMessage)))
        return null;
    BorrowerControl borrowerControl = new BorrowerControl(LOCALconnectionStringDb,WEBconnectionStringDb,STATSconnectionStringDb,LIBconnectionStringDb,CATconnectionStringDb,Session);
    Borrower returnObj = borrowerControl.getSessionedBorrowerHeader(ref aMessage);
    borrowerControl.Dispose();
    return returnObj;
}

如果你需要更多的代码告诉我不进ASP:

EDIT2:

http://pastebin.com/e3X2VKxY

该怎么办:(
这是JSON的答案

解决方法

这听起来像ASP限制因素.这不是jQuery具体的,而是来自ASP服务器的任何JSON响应.我也在ColdFusion服务器上看到过.找到此设置,看看您的限制是否与您所触及的限制相关.看看你能不能把它增加到你需要的
<system.web.extensions>  
    <scripting>  
        <webServices>  
            <jsonSerialization maxJsonLength="x"></jsonSerialization>  
        </webServices>  
    </scripting>  
</system.web.extensions>

如果您无法访问服务器设置,您还可以在代码中设置值.这是一个MSDN参考:

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.maxjsonlength.aspx

它还说:

The maximum length of JSON strings. The default is 2097152 characters,which is equivalent to 4 MB of Unicode string data.

这是超过你的长度〜7300个字符.但也许有人调整了这个设置.

我也很好奇,你看到’多个’返回回调方法.通常我认为,这个限制只会截断第一个回调结果的结果.也许你还有其他的事情吗?

猜你在找的jQuery相关文章