彩世界开奖app官网-彩世界平台官方网址(彩票平台)
做最好的网站
来自 前端技术 2019-11-28 11:53 的文章
当前位置: 彩世界开奖app官网 > 前端技术 > 正文

vue 发送ajax乞求彩世界平台官方网址

彩世界平台官方网址 1彩世界平台官方网址 2

      this.$http.put(url, [body], [options])

  // 6、使用$http指定的方法发送HTTP请求:
    get(url, [config]);
    delete(url, [config]);
    post(url, data, [config]);
    put(url, data, [config]);

一、 简介

    /*$http常用的几个参数
    $http服务的设置对象:
     1、method 字符串  表示发送的请求类型 get post jsonp等等
     2、url 字符串 绝对或者相对的URL,请求的目标
     3、params 字符串或对象 会被转化成查询字符串加到URL后面,如果不是字符串会被JSON序列化
     4、data 字符串或者对象 这个对象包含了被当做消息体发送给服务器的数据,一般在POST请求中使用,并且从angular1.3开始可以在POST请求里发送二进制数据
       如var blob = new Blob({name:’张三’}); $http({method:’get’,url:’/‘,data:blob});
     5、headers 对象 在我们做POST跨域和后台配合的时候就用到了headers,其代表随请求发送的HTTP头字符串
     6、cache 布尔或缓存对象 如果设置为true angularjs会用默认的$http缓存对GET请求进行缓存
     7、timout 数值或者promise对象,如果为数值那么请求会在指定的毫秒后结束(会跳到失败的error方法里) ,如果为对象那么promise对象在被resolve时请求会被中止,方法执行完毕再执行请求
     8、xsrfHeaderName 字符串 保存XSFR令牌的HTTP头的名称
     9、xsrfCookieName  字符串 保存XSFR令牌的cookie的名称
     10、transformRequest 函数或函数组 用来对HTTP请求头和体信息进行转换,并返回转化后的版本,通常用于在请求发送给服务器之前对其序列化
     11、transformResponse 函数或函数组 用来HTTP响应头和响应体信息进行转换,并返回转化后的版本,通常用来反序列化
     12、responseType 字符串 该选项会在请求中设置XMLHttpResponseType属性有以下类型: “”字符串默认,”arraybuffer”(arraybuffer),”blob”(blob对象),“document”(HTTP文档),”json“(从JSON对象解析出来的json字符串),”text“(字符串),”moz-blob“(Firefox的接收进度事件),”moz-chunked-text“(文本流),”moz-chunked-arraybuffer”(arraybuffer流)

    $http服务的快捷方法
     $http提供了一些快捷方法让我们使用,一共有六个(其实是六种请求模式)
     1、$http.get(url字符串,config可选的配置-对象类型) 返回HttpPromise对象
     2、$http.delete(url字符串,config可选的配置-对象类型) 返回HttpPromise对象
     3、$http.head(url字符串,config可选的配置-对象类型) 返回HttpPromise对象
     4、$http.jsonp(url字符串,config可选的配置-对象类型) 返回HttpPromise对象
     5、$http.post(url字符串,data对象或字符串,config可选的配置-对象类型) 返回HttpPromise对象
     6、$http.put(url字符串,data对象或字符串,config可选的配置-对象类型) 返回HttpPromise对象

*/

      格式1:axios([options])        #这种格式直接将所有数据写在options里,options其实是个字典

// 5、$http提交表单  --- 与Spring MVC交互, 使用这种方式
    // 通用方式:
    $http({
        method: "POST",
        url: url,
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        data: $.param($scope.request)
    }).success(function(result){

    }).error(function(result){
    });

    // 快捷方式:
    $http.post(url, $scope.formData)
        .success(function(result){
        })
        .error(function(result){
        });

       this.$http.head(url, [options])

彩世界平台官方网址 3彩世界平台官方网址 4

      格式2:axios.get(url[,options]);

彩世界平台官方网址 5彩世界平台官方网址 6

 

3、POST方式

基本返送方式

彩世界平台官方网址 7彩世界平台官方网址 8

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>发送AJAX请求</title>
    <script src="js/vue.js"></script>
    <script src="js/axios.min.js"></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#itany',
                data:{
                    user:{
                        name:'alice',
                        age:19
                    },
                },
                methods:{
                    sendPost(){
                        // axios.post('server.php',{
                        //         name:'alice',
                        //         age:19
                        // }) //该方式发送数据是一个Request Payload的数据格式,一般的数据格式是Form Data格式,所有发送不出去数据
                        // axios.post('server.php','name=alice&age=20&') //方式1通过字符串的方式发送数据
                        axios.post('server.php',this.user,{  //方式2通过transformRequest方法发送数据,本质还是将数据拼接成字符串
                            transformRequest:[
                                function(data){
                                    let params='';
                                    for(let index in data){
                                        params =index '=' data[index] '&';
                                    }
                                    return params;
                                }
                            ]
                        })
                        .then(resp => {
                            console.log(resp.data);
                        }).catch(err => {
                            console.log('请求失败:' err.status ',' err.statusText);
                        });
                    },
                }
            });
        }
    </script>
</head>
<body>
    <div id="itany">
        <button @click="send">发送AJAX请求</button>

        <button @click="sendGet">GET方式发送AJAX请求</button>

    </div>
</body>
</html>

 

 

// 2、GET方式
    // $http---get请求方式--- params参数会转为  ?param1=xx1¶m2=xx2的形式
    $http({
        url:"/doc.json",
        method:'GET',
        params:{
            'username':'admin'
        }
    }).success(function (response, status, headers, config) {
        /*成功信息*/
    }).error(function (response) {
        /*失败信息*/
    });
    //快捷请求:
    $http.get(url, [config])
        .success(function(data){})
        .error(function(data){});

  1、vue本身不支持发送AJAX请求,需要使用vue-resource(vue1.0版本)、axios(vue2.0版本)等插件实现

 

带jionsp参数的

 

    3、 安装vue-resource并引入    

$http常用的几个参数

      1、自己拼接为键值对

1、$http请求方式

View Code

彩世界平台官方网址 9彩世界平台官方网址 10

二、 使用axios发送AJAX请求

5、$http提交表单

       this.$http.delete(url, [options])

// 1、$http请求方式
    /**
     * 请求参数说明:
     *url:url,           //请求的url路径
     *method:method,    //GET/DELETE/HEAD/JSONP/POST/PUT
     *params:params ,   //转为  ?param1=xx1¶m2=xx2的形式
     *data: data        //包含了将被当做消息体发送给服务器的数据,通常在POST请求时使用
     */

    $http({
        url:url,           //请求的url路径
        method:method,    //GET/DELETE/HEAD/JSONP/POST/PUT
        params:params ,   //转为  ?param1=xx1¶m2=xx2的形式
        data: data        //包含了将被当做消息体发送给服务器的数据,通常在POST请求时使用
    }).success(function(response, status, header, config, statusText){
        //成功处理

        // response     ---  响应体,即:要请求的数据
        // status       ---  HTTP状态码
        // header      ---  头信息
        // config       ---  用来生成原始请求的完整设置对象
        // statusText   ---  相应的HTTP状态文本

    }).error(function(data,header,config,status){
        //错误处理
    });

      3、如果使用模块化开发,可以使用qs模块进行转换

// 3、POST方式
    $http({method : 'POST',params : { id:1}, data:{name:'admin',age:1}, url : "/doc"})
        .success(function(response, status, headers, config){
            /*成功信息*/
        })
        .error(function(response, status, headers, config){
            /*失败信息*/
        });

    // 快捷方式:
    $http.post(url,  $scope.formData).success(function (response, status, headers, config) {
        /*成功信息*/
    }).error(function (response) {
        /*失败信息*/
    });

  3、发送post请求(push,delete的非get方式的请求都一样)

   // 4、发送jsonp请求:
    //       为了发送JSONP请求,url中必须包含JSON_CALLBACK参数, jsonp(url,config) 其中config是可选的
    // eg:
        var promise=$http.jsonp("/api/users.json?callback=JSON_CALLBACK");

彩世界平台官方网址 11彩世界平台官方网址 12

 

      this.$http.patch(url, [body], [options]) 

4、发送jsonp请求

      2、使用transformRequest,在请求发送前将请求数据进行转换

 

      格式:axios.post(url,data,[options]);

 

    2、使用vue-resource发送跨域请求

 

彩世界平台官方网址 13彩世界平台官方网址 14

6、使用$http指定的方法发送HTTP请求

      4、注释:axios默认发送post数据时,数据格式是Request Payload,并非我们常用的Form Data格式,所以参数必须要以键值对形式传递,不能以json形式传参

2、GET方式

    1、基本使用格式

彩世界平台官方网址 15彩世界平台官方网址 16

       this.$http.post(url, [body], [options])

彩世界平台官方网址 17彩世界平台官方网址 18

      this.$http.jsonp(url, [options])

    1、基本使用格式

彩世界平台官方网址 19彩世界平台官方网址 20

  1、安装axios并引入

    4、 基本使用方法(使用this.$http发送请求) 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>发送AJAX请求</title>
    <script src="js/vue.js"></script>
    <script src="js/axios.min.js"></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#itany',
                data:{
                    user:{
                        name:'alice',
                        age:19
                    },
                },
                methods:{
                    send(){
                        axios({
                            method:'get',
                            url:'http://www.baidu.com?name=tom&age=23'
                        }).then(function(resp){
                            console.log(resp.data);
                        }).catch(resp => {
                            console.log('请求失败:' resp.status ',' resp.statusText);
                        });
                    },
                    sendGet(){
                        axios.get('server.php',{
                            params:{
                                name:'alice',
                                age:19
                            }
                        })
                        .then(resp => {
                            console.log(resp.data);
                        }).catch(err => {             //
                            console.log('请求失败:' err.status ',' err.statusText);
                        });
                    },
                }
            });
        }
    </script>
</head>
<body>
    <div id="itany">
        <button @click="send">发送AJAX请求</button>

        <button @click="sendGet">GET方式发送AJAX请求</button>

    </div>
</body>
</html>

基本发送方式2

     1、npm install axios -S        #直接下载axios组件,下载完毕后axios.js就存放在node_modulesaxiosdist中

       npm info vue-resource           #查看vue-resource 版本信息
          cnpm install vue-resource -S #等同于cnpm install vue-resource -save

     3、通过script src的方式进行文件的引入

View Code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>发送AJAX请求</title>
    <script src="js/vue.js"></script>
    <script src="js/axios.js"></script>
    <script src="js/vue-resource.js"></script>
</head>
<body>
<div id="itany">
    <button v-on:click="send">向百度搜索发送JSONP请求</button>
</div>
</body>
<script>
    new Vue({
        el:'#itany',
        data:{
            name:'za'
        },
        methods:{
            send:function () {
                this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',
                    {params:{wd:'a'},
                        jsonp:'cb', //百度使用的jsonp参数名为cb,所以需要修改,默认使用的是callbakc参数就不用修改
                    }).then(function (resp) {
                    console.log(resp.data)
                }).catch(function (err) {
                    console.log(err)
                })
            }
        }


    })
</script>
</html>

    3、案例:

       this.$http.get(url, [options])

彩世界平台官方网址 21彩世界平台官方网址 22

 

    2、传参方式

     2、网上直接下载axios.min.js文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>发送AJAX请求</title>
    <script src="js/vue.js"></script>
    <script src="js/axios.js"></script>
    <script src="js/vue-resource.js"></script>
</head>

<body>
<div id="itany">
    <a>{{name}}</a>

    <button v-on:click="send">sendJSONP</button>

</div>
</body>
<script>
    new Vue({
        el: '#itany',
        data:{
            name: 'alice',
            age: 19
                    },
        methods:{
            send:function(){
//                https://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word&word=a
                this.$http.jsonp('https://sug.so.360.cn/suggest',
                    {params:{
                        word:'a'
                    }}
                ).then(function (resp) {
                    console.log(resp.data)
                })

            }
        }
    })
</script>
</html>

  2、axios是一个基于Promise的HTTP请求客户端,用来发送请求,也是vue2.0官方推荐的,同时不再对vue-resource进行更新和维护

 

    3、案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>发送AJAX请求</title>
    <script src="js/vue.js"></script>
    <script src="js/axios.js"></script>
    <script src="js/vue-resource.js"></script>
</head>

<body>
<div id="itany">
    <a>{{name}}</a>

    <button v-on:click="send">sendJSONP</button>

</div>
</body>
<script>
    new Vue({
        el: '#itany',
        data:{
            name: 'alice',
            age: 19
                    },
        methods:{
            send:function(){
//                https://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word&word=a
                this.$http.jsonp('https://sug.so.360.cn/suggest',
                    {params:{
                        word:'a'
                    }}
                ).then(resp=> {
                    console.log(resp.data)
                })

            }
        }
    })
</script>
</html>

    2、传参方式:
                通过url传参
                  通过params选项传参

  3、参考:GitHub上搜索axios,查看API文档

彩世界平台官方网址 23彩世界平台官方网址 24

  4、发送跨域请求
         1、须知:axios本身并不支持发送跨域的请求,没有提供相应的API,作者也暂没计划在axios添加支持发送跨域请求,所以只能使用第三方库

  2、发送get请求

    5、案例

本文由彩世界开奖app官网发布于前端技术,转载请注明出处:vue 发送ajax乞求彩世界平台官方网址

关键词: