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) { //请求完成后最终执行参数 
         }
});

  

  

优质内容筛选与推荐>>
1、[Laravel] 09 - Functional models
2、开发板_CK100_Lp1227_MAX232_引脚
3、三峡大坝
4、10.26 理解并解决技术方案
5、LeetCode(一)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn