vue ajax的使用 get,post,jsonp跨域请求的使用 ajax获取数据后如何绑定数据?

7 篇文章 0 订阅
1 篇文章 0 订阅

vue如何使用ajax?
vue如何跨域请求?
ajax获取数据后如何绑定数据?

jsonp跨域出现Cross-Origin Read Blocking (CORB) blocked cross-origin response 报错解决方法?
答:注意json格式的返回,需要返回jsonp的格式。

前端代码:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-resource@1.5.1"></script>
</head>

<body>
    <div id="box">
        <input type="button" value="get请求" @click="getClick">
        <input type="button" value="post请求" @click="postClick">
        <input type="button" value="jsonp请求" @click="jsonpClick">
    </div>

<div id="app">
		{{message}}
</div>

    <script>

	var vv=new Vue({
			el:'#app',
			data:{
				message:''
			}
		})
		
        var vm = new Vue({
            el: " #box ",
            data: {},
            methods: {
                getClick() {
                    // 参数1:测试用的地址:http://vue.studyit.io/api/getlunbo
                    // 参数2:[config] 可选
                    this.$http.get("http://127.0.0.1/test.php").then(result => {
                        console.log("ok");
                        console.log(result.body);
                    });
                },
                postClick() {
                    // 参数1:测试用的地址:http://vue.studyit.io/api/getlunbo
                    // 参数2:[data]数据,可为Object,FormData,String,这里为空
                    // 参数3:[config] 可选,但是emulateJSON = "true" 表名表单格式为:application/x-www-form-urlencoded,否则
                    // 可能有的浏览器不认识。
                    this.$http.post("http://127.0.0.1/test.php", "", {
                        emulateJSON: true
                    }).then(result => {
                        console.log(result.body);
                    });
                },
                jsonpClick() {
                	//127.0.0.1修改成跨域的地址
                    this.$http.jsonp("http://127.0.0.1/test.php", {
						params: {},
						jsonp: 'onBack'
					}).then(result => {
                        console.log(result);
                        vv.message=result.body.code;
                    },response => {
    							console.log("发送失败"+response.status+","+response.statusText);
  							}).catch(() => console.log('promise catch err'));
                }
            }
        });
    </script>
</body>

</html>

PHP代码

<?php
$data['code']='1';
$data['msg']='json';

if(isset($_GET['onBack'])){
    echo $_GET['onBack']."(".json_encode($data).")";
}else{
    echo json_encode($data);
}



?>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值