[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
转载于:https://www.cnblogs.com/lhlong/p/5922817.html