首页 新闻 会员 周边 捐助

jquery.ajax提交表单 当文字内容过多时报错

0
悬赏园豆:5 [已解决问题] 解决于 2013-03-28 16:57
$.ajax({
        url: "/handler/letter.ashx",
        type: "get",
        data: $("form").serialize(),
        success: function (e) {
            ......        
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
             alert(XMLHttpRequest.status);
             alert(XMLHttpRequest.readyState);
             alert(textStatus);
} })

当表单 textarea 中内容过多时候就 报错 

XMLHttpRequest.status=500 或400
XMLHttpRequest.readyState =4 
textStatus=error

文字少时候正常。 怎么回事?
 
< >
分享
最佳答案
0

HTTP specification并没有对URL长度进行限制,但是IE将请求的URL长度限制为2083个字符,从而限制了get提交的数据长度。测试表明如果URL超出这个限制,提交form时IE不会有任何响应。其它浏览器则没有URL的长度限制,因此其它浏览器能通过get提交的数据长度仅受限于服务器的设置。

而对于post,因为提交的数据不在url中,所以通常可以简单地认为数据长度限制仅受限于服务器的设置。

收获园豆:2
叶落风行 | 初学一级 |园豆:168 | 2013-03-06 15:46
其他回答(3)
0

get方式是把你要传递的内容作为url里面的参数传递的,过长会报错

建议使用type:"post"

收获园豆:1
飞来飞去 | 园豆:2057 (老鸟四级) | 2013-03-06 15:32
0

多多少?了解一下gei和post的区别吧。。。

收获园豆:1
顾晓北 | 园豆:10898 (专家六级) | 2013-03-06 15:44
0

type改成"post"

收获园豆:1
*^__^* | 园豆:428 (菜鸟二级) | 2013-03-12 17:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册