$.ajax()常用属性

1、常用属性

  • url : 请求后台的地址
  • data : 前台传给后台的参数
  • dataType : 预期服务器返回的类型。可用值有

            "xml": 返回 XML 文档,可用 jQuery 处理。

            "html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。

            "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)

            "json": 返回 JSON 数据 。
            "jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
           "text": 返回纯文本字符串

  • type : 传参的方式,如:post, get(如果是GET就直接写在url后面),默认get
  • success : 请求成功后的回调函数
  • error : 在请求出错时执行的函数

2、不常用属性:

  • async : 布尔类型:是否是异步请求,默认true
  • cache : 布尔类型:是否缓存被请求页面,默认true
  • contentType : 字符串类型。默认值: "application/x-www-form-urlencoded"。发送信息至服务器时内容编码类型。

            默认值适合大多数情况。如果你明确地传递了一个 content-type 给 $.ajax() 那么它必定会发送给服务器(即使没有数据要发送)。

  • processData:

            布尔类型:默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

 

3、使用

1)、普通使用时

$.ajax({
	url: href,	//后台方法的路径
	data: {id:3},	//你要传到后台的参数
	dataType: 'json',//(希望)服务器返回的类型,默认string
	type: 'post',	//传参的方式,如果是GET就直接写在url后面
	success: function(data) {
		console.log(data);	//data就是你返回的json数据了
	},
	error:function(){
		console.log('请求异常!');
	}
});

2)、表单有提交图片时。

<form id="form_id" enctype="multipart/form-data">
		<input class="easyui-textbox" type="text" name="contact" data-options="required:true" 
			value="<?php echo isset($data['contact'])?$data['contact']:'';?>"></input>
</form>
	
var isValid = $('#form_id').form('validate');
if (!isValid)	return false;
	
<script>
	var formData = new FormData($( "#form_id" )[0]);
	$.ajax({
		url: href,
		data: formData,
		dataType: 'json',
		type: 'post',

		async: false,  
		cache: false,  
		contentType: false,  
		processData: false,
	   
		success: function(result) {
		   
		},
	   error:function(){
	
	   }
	});
</script>