首页 > 编程 > JavaScript > 正文

jsonp跨域请求数据实现手机号码查询实例分析

2019-11-20 11:01:56
字体:
来源:转载
供稿:网友

本文实例讲述了jsonp跨域请求数据实现手机号码查询的方法。分享给大家供大家参考,具体如下:

前言

网上有很多开放的api,我们在本地通过ajax获取数据时,总会碰到一个问题,那就是跨域!如果不借助php等,仅仅通过js怎么解决跨域的问题呢?或许jsonp是个不错的选择。

知识准备

之前一篇《说说JSON和JSONP 也许你会豁然开朗》对jsonp已经介绍的很详细了,这里就不多介绍了,直接上实例吧

代码:

<!DOCTYPE HTML><html><head><meta charset="utf-8" /><meta name="author" content="@my_coder"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"><title> 手机号查询 </title><style type="text/css">html{color:#000;background:#fff;}body,ul,li,input,h1,button,p{padding:0;margin:0;}li{list-style:none;}html{background:#F6F8FC;overflow:hidden;}.outer{margin:0 auto;width:280px;position:relative;}h1{font-size:20px;text-align:center;border-bottom:1px dotted #A3C4DB;padding:10px 0;}p{font-size:14px;padding:14px 0 10px;}input[type="text"]{width:200px;height:30px;font-size:18px;}.button{display:inline-block;width:60px;font-size:16px;text-align:center;line-height:34px;background:linear-gradient(#fff,#ccc);border:1px solid #004;border-radius:3px;cursor:pointer;}ul{padding-top:26px;}li {font-size:18px;line-height:30px;}.error{position:absolute;left:4px;top:80px;color:red;font-size:14px;display:none;}</style></head><body>  <h1>手机号码归属地查询</h1>  <div class="outer">    <p>请输入手机号码</p>    <input type="text" >    <span class="button">查询</span>    <span class="error">号码有误 或 无数据</span>    <ul>      <li class="num">手机号码: <span></span></li>            <li class="province">归属省份: <span></span></li>      <li class="operators">运 营 商: <span></span></li>    </ul>  </div><script type="text/javascript" src="jquery-1.8.0.min.js" ></script><script>  var tel;  var ajax=function(){    //淘宝接口      $.ajax({       type: "get",       url: 'http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel='+tel,       dataType: "jsonp",       jsonp: "callback",       success: function(data){        console.log(data);        $('.error').css('display','none');        var province = data.province,          operators = data.catName,          num = data.telString;        $('.num span').html(num);        $('.province span').html(province);        $('.operators span').html(operators);       },       error:function (){          $('li span').html('');        $('.error').css('display','block');           }     });  }  var reg = /^(13|15|18)[0-9]{9}$/;  //点击查询  $('.button').click(function(){    tel=$('input[type=text]').val();    if(tel){      if(reg.test(tel)){        ajax();      }else{        $('li span').html('');        $('.error').css('display','block');        }    }  });  //键盘事件  $(window).keydown(function(event){    tel=$('input[type=text]').val();    if(event.keyCode==13) {      if(tel){        if(reg.test(tel)){          ajax();        }else{          $('li span').html('');          $('.error').css('display','block');          }      }    }  });</script></body></html>

希望本文所述对大家jQuery程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表