$.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
文字少时候正常。 怎么回事?
HTTP specification并没有对URL长度进行限制,但是IE将请求的URL长度限制为2083个字符,从而限制了get提交的数据长度。测试表明如果URL超出这个限制,提交form时IE不会有任何响应。其它浏览器则没有URL的长度限制,因此其它浏览器能通过get提交的数据长度仅受限于服务器的设置。
而对于post,因为提交的数据不在url中,所以通常可以简单地认为数据长度限制仅受限于服务器的设置。
get方式是把你要传递的内容作为url里面的参数传递的,过长会报错
建议使用type:"post"
多多少?了解一下gei和post的区别吧。。。
type改成"post"