[HttpGet] controller方法前面加上 效率比post高,但是http请求有长度限制,不同浏览器处理不一样(如下)
各浏览器HTTP Get请求URL最大长度并不相同,几类常用浏览器最大长度及超过最大长度后提交情况如下:
IE6.0 :url最大长度2083个字符,超过最大长度后无法提交。
IE7.0 :url最大长度2083个字符,超过最大长度后仍然能提交,但是只能传过去2083个字符。
firefox 3.0.3 :url最大长度7764个字符,超过最大长度后无法提交。
Opera 9.52 :url最大长度7648个字符,超过最大长度后无法提交。
Google Chrome 2.0.168 :url最大长度7713个字符,超过最大长度后无法提交
[HttpPost] controller方法前面加上 ,效率比get低,但是http请求有长度无限制
参数 描述
url 必需。规定把请求发送到哪个 URL。 data 可选。映射或字符串值。规定连同请求发送到服务器的数据。 success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。 dataType可选。规定预期的服务器响应的数据类型。
默认执行智能判断(xml、json、script 或 html)。
$.ajax({
type:'POST', (请求方式POST或者get)
url: '/OflSchApply/SaveEdit', (请求地址)
data: { flag: flag, 'ApplyType': txtApplyType, MainJson: JSON.stringify(Main_columns), DetailJson: JSON.stringify(Detail_columns) }, (参数)
cache: false,
async: false,
dataType: "json",
success: function (packJson) {
}
});
$.ajax需要注意的一些地方:
1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。
2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit