jQuery方式實現ajax接口調用


0. serialize()     serializeArray()

  // jQuery為了我們能夠簡便的操作表單,設置了兩個方法用於對表單數據進行處理
        // 1 serialize()
        //   - 可以將一個表單的數據轉換為urlencoded形式的數據
        //       - 還可以直接作為$.ajax的參數使用
        // 2 serializeArray()
        // - 可以將一個表單的數據轉換為數組形式
        //       - 也可以直接作為$.ajax的參數使用

        // 小結:
        // - 如果僅僅需要進行表單的數據處理,直接使用serialize()即可 (常用)
        // - 如果要查看數據內容,可以使用serializeArray()

        // - 以前我們說表單提交不好用只是說提交后會跳轉導致頁面刷新,用戶體驗不好,請求次數過多
        //          - 但是表單自身的功能還是無可取代的,該用還要用

  注意:通過$.ajax發送FormData請求時,需要指定兩個屬性,不設置會導致報錯

  contentType:false;    //不指定請求體內容類型

  processData: false;   //不進行數據處理操作

  

FormData的參數需要一個DOM對象,需要轉換后使用

 1. 

<body>
    <form id="form">
	<input type="text" name="username">
	<input type="file" name="file">
	<input type="button" value="按鈕" id="btn">
    </form>
</body>
<script>
    $('#btn').on('click', function(){
        var fd = new FormData($('form')[0])
        $.ajax({
            method: 'post',
            url: '',
            data: fd,
            contentType: false,
            processData: false,
            success: function(res){
                console.log('res')
            }
        });
})

 2. 

 jsonp和ajax沒有任何關聯,jQuery為了我們請求操作時的統一,將jsonp的發送方式設置在了$.ajax中 

$('#btn').on('click', function () {
	$.ajax({
		method : 'POST'
		url : 'http://localhost/Ajax_day4/demo1.php',
		success : function (datas) {
			console.log(datas);
		},
            // 如果在dataType中設置'jsonp',表示當前請求以jsonp形式發送,與dataType的原始功能無關
		dataType : 'jsonp'
	});   
}

  

 3. ajax設置請求頭

$.ajax({
         type: type,
         headers: {
			'token':'token_value'
         },
         url: url,
         data: data,
         success: function(data) {
         },
         error: function(err) {
         },
         complete: function(XMLHttpRequest, status) { //請求完成后最終執行參數 
         }
});

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM