ajax和jsonp
?
一. ajax
1. ajax技術的目的是讓javascript發送http請求,與后臺通信,獲取數據和信息。ajax技術的原理是實例化xmlhttp對象,使用此對象與后臺通信。ajax通信的過程不會影響后續javascript的執行,從而實現異步。
2. 同步和異步?
現實生活中,同步指的是同時做幾件事情,異步指的是做完一件事后再做另外一件事,程序中的同步和異步是把現實生活中的概念對調,也就是程序中的異步指的是現實生活中的同步,程序中的同步指的是現實生活中的異步。
3. 局部刷新和無刷新?
ajax可以實現局部刷新,也叫做無刷新,無刷新指的是整個頁面不刷新,只是局部刷新,ajax可以自己發送http請求,不用通過瀏覽器的地址欄,所以頁面整體不會刷新,ajax獲取到后臺數據,更新頁面顯示數據的部分,就做到了頁面局部刷新。
4. 同源策略?
ajax請求的頁面或資源只能是同一個域下面的資源,不能是其他域的資源,這是在設計ajax時基于安全的考慮。特征報錯提示:
5. $.ajax使用方法?
常用參數:
1、url 請求地址
2、type 請求方式,默認是'GET',常用的還有'POST'
3、dataType 設置返回的數據格式,常用的是'json'格式,也可以設置為'html'
4、data 設置發送給服務器的數據
5、success 設置請求成功后的回調函數
6、error 設置請求失敗后的回調函數
7、async 設置是否異步,默認值是'true',表示異步
?
6. 例子
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>ajax test</title><script type="text/javascript" src="js/jquery-1.12.4.min.js"></script><script type="text/javascript">$.ajax({url: 'data.json', //請求的文件地址,這里是用本地的一個json文件模擬type: 'get',dataType: 'json'}).done(function(data) { //請求成功的時候會干什么//console.log(data);alert(data.name); //可讀取對象中屬性name的值}).fail(function() { //請求失敗的時候會干什么console.log("error");});</script> </head> <body></body> </html>
?
二. jsonp
jsonp?
ajax只能請求同一個域下的數據或資源,有時候需要跨域請求數據,就需要用到jsonp技術,jsonp可以跨域請求數據,它的原理主要是利用了script標簽可以跨域鏈接資源的特性。
jsonp的原理如下:
<script type="text/javascript">function aa(dat){alert(dat.name);} </script> <script type="text/javascript" src="....../js/data.js"></script>頁面上定義一個函數,引用一個外部js文件,外部js文件的地址可以是不同域的地址,外部js文件的內容如下:
aa({"name":"tom","age":18});外部js文件調用頁面上定義的函數,通過參數把數據傳進去。
?
轉載于:https://www.cnblogs.com/regit/p/9020674.html
總結
以上是生活随笔為你收集整理的ajax和jsonp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序image组件开发程序以及相关
- 下一篇: 前端开发浏览器兼容问题