---
# System prepended metadata

title: 使用AJAX串接API
tags: [JavaScript]

---

# 使用AJAX串接API
###### tags: `JavaScript`
2022.03.16
參考網址：https://ithelp.ithome.com.tw/articles/10226692

query：網址後面加？
params：額外撰寫data
 

### 1. 引入套件
* 下載套件方法 
1.安裝`npm install jquery --save`
    2. 導入 :  
    在 vue.config.js 檔案加入:
    ```
    const webpack = require('webpack')
    module.exports = {
      //引入jquery
         chainWebpack: config => {       
             config.plugin('provide').use(webpack.ProvidePlugin, [{
                  $: 'jquery',
                  jquery: 'jquery',
                  jQuery: 'jquery',
                 'window.jQuery': 'jquery'
            }])
        }
    }
    ```

* CDN方法(較不建議，當系統更新時本地端會出現錯誤)
```
<script src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="crossorigin="anonymous"></script>
```
* 下載套件安裝在專案內
可參考此筆記：https://hackmd.io/57NGTKLUTkCxYBCz00T0pA

### 2. 寫<script>抓取資料
```
getdata(){
    const url = '連結網址'  //有些資料要求，是直接放在網址後，用「?資料1=要求內容&資料1=要求內容」串接在網址後
    const token = '連結資料代碼'
    const vm = this; //如果用Vuecli，ajax裡要抓取資料，不能直接下this
    
    // -------- 依照後端傳遞規則視情況撰寫(有些不用) ---------
    const data = new FormData();
    data.append('資料名稱', 資料要求內容);
    //-------------------------------------------------
    
    
    $.ajax({
        type:'型態', //GET、POST...不同型態整體ajax會有不同撰寫方式
        url:url, //連結網址
        data:data, //看後端資料型態，如果是使用網址傳遞資料要求內容，這行可以不要
        dataType:'資料型態', //json...，這行無特殊要求可省略
        //--------- 如果後端資料有要求要用header 才需要打 ----------
        headers:{
            'authorization': token,
        },
        //-----------------------------------------------------
        success:function(response){
            console.log('成功');
        },
        error:function(err){
            console.log('失敗');
        }
    })

}

```
    

