2011-05-19 126 views
4

所以我有这个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个字符!

回答

1

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

1

这SO票可能是一些使用到你: Browser response size limit

基本上,它解释说,IE和FF都对(与GET和POST方法两者)数据限制。所以,很长的数据可能会导致它无法启动。即使您不使用IE或FF,您可以处理的数据量也可能会有一些限制。

1

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

http - What is the maximum length of a URL