$.ajax{} post 和 get

 

  [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

posted @ 2016-09-30 10:01  人生为卒  阅读(246)  评论(0)    收藏  举报