使用$ .getJSON时是否有字符串长度限制?

时间:2011-05-19 13:04:45

标签: jquery json asp.net-mvc-3

所以我有这个javascript作为我的电话:

$("#addNewThankYou").click(function () {
    var thankYouNote = $("#thankYouNote").html();

    var name = $("#enteredName").html();

    $.getJSON("/Home/AddEntryToDatabase", { Name: name, ThankYouNote: thankYouNote }, function (data) {
    ...
    });
});

背后的C#方法很标准:

public ActionResult AddEntryToDatabase(String Name, String ThankYouNote){
...
}

我的问题可能在于传入的字符串的长度。例如,如果我传入一个名称和一个小的注释(<100个字符)我没有任何问题,它会触发方法就好了。但是,如果我有一个相当长的音符,它根本不会触发该方法;当我点击调用addNewThankYou.click的按钮时,什么都不做。我尝试在被调用的方法的第一行放置一个断点,但它根本没有进入。

所以,我的问题是这个。我可以通过getJSON jQuery方法传递的字符串大小是否有限制?如果是这样,有关如何解决此问题的任何建议?我不想将这些感谢信息限制为100个字符!

3 个答案:

答案 0 :(得分:1)

从历史上看,您始终需要谨慎处理长查询字符串(即GET请求)。在过去的日子里,我相信查询字符串的长度受到限制。如果你发送大量数据来使用ajax-POST,那可能会更好。

答案 1 :(得分:1)

这张SO票可能对你有用: Browser response size limit

基本上,它解释了IE和FF都对数据有限制(使用GET和POST方法)。因此,真正长的数据可能导致它无法触发。即使您没有使用IE或FF,也可能会对您可以处理的数据量有一些限制。

答案 2 :(得分:1)

GET请求将所有参数放在URL中。因此,如果不出意外,您需要知道浏览器对他们将处理的URL长度的限制。通常,您不能假设您可以在URL中发送超过〜2000个字符作为整体。

http - What is the maximum length of a URL