本地调用淘宝api跨域解决

今天在https://segmentfault.com/q/10...上看到第一个答案上淘宝有个手机号的api,于是在本地写了个html文件发ajax请求到这个api.但是提示跨域报错.没处理过这种问题,该怎么解决呢?麻烦贴上代码哦~小白在此非常感谢~

阅读 5.9k
3 个回答

可以通关JSONP方式进行跨域

<script>
$(document).ready(function(){ 
    $("#search").click(function(){ 
        $.ajax({ 
            type: "GET",     
            url: "http://127.0.0.1:8000/ajaxdemo/serverjsonp.php?number=" + $("#keyword").val(),
            dataType: "jsonp",
            jsonp: "callback",
            success: function(data) {
                if (data.success) {
                    $("#searchResult").html(data.msg);
                } else {
                    $("#searchResult").html("出现错误:" + data.msg);
                }  
            },
            error: function(jqXHR){     
               alert("发生错误:" + jqXHR.status);  
            },     
        });
    });
    
    $("#save").click(function(){ 
        $.ajax({ 
            type: "POST",     
            url: "http://127.0.0.1:8000/ajaxdemo/serverjsonp.php",
            data: {
                name: $("#staffName").val(), 
                number: $("#staffNumber").val(), 
                sex: $("#staffSex").val(), 
                job: $("#staffJob").val()
            },
            dataType: "json",
            success: function(data){
                if (data.success) { 
                    $("#createResult").html(data.msg);
                } else {
                    $("#createResult").html("出现错误:" + data.msg);
                }  
            },
            error: function(jqXHR){     
               alert("发生错误:" + jqXHR.status);  
            },     
        });
    });
});
</script>

这是之前写的应用jsonp跨域的测试文件,你可以参考

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>test</title>
</head>

<body>
    <input type="text" id="tel">
    <input type="button" id="btn" value="submit">
    <script src="https://lib.sinaapp.com/js/jquery/3.1.0/jquery-3.1.0.min.js"></script>
    <script>
    $('#btn').click(function() {
        var tel = $('#tel').val().trim();
        if (!tel) {
            return;
        }
        $.ajax({
                url: 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm',
                dataType: 'jsonp',
                data: {
                    tel: tel
                },
            })
            .done(function(rs) {
                console.log(rs);
            })
            .fail(function() {
                console.log("error");
            })
            .always(function() {
                console.log("complete");
            });

    });
    </script>
</body>

</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题