jsonp跨域请求数据实例之手机号码查询

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

代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <script src="js/jquery.min.js"></script>
        <title>手机号码归属地查询</title>
    </head>

    <style>
        *{margin: 0;padding: 0;}
        .box{width: 400px;height: 400px;margin: 0 auto;padding: 10px;background: #f3f3f3;}
        .number-input{width: 200px;height: 30px;outline: none;border: 1px solid #ccc;padding-left: 6px;}
        .button{height: 32px;width: 80px;border: none; line-height: 34px;cursor: pointer;margin-left: 30px;}
        p{line-height: 36px;}
        .error{color: red;}
    </style>

    <body>
        <div class="box">
            <input type="text" class="number-input" placeholder="请输入手机号"/><button class="button">查询</button>
            <p class="error"></p>
            <p>归属地:<span class="province"></span></p>
            <p>运营商:<span class="catName"></span></p>
            <p>所属公司:<span class="carrier"></span></p>
            <p>手机号码:<span class="telString"></span></p>
        </div>
    </body>

    <script type="text/javascript">
        var tel;
        var ajax = function() {
            tel = $(‘.number-input‘).val();
            //淘宝接口
            $.ajax({
                type: "get",
                url: ‘//tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=‘ + tel,
                dataType: "jsonp",
                jsonp: "callback",
                success: function(data) {
                    $(‘.error‘).html(‘‘);
                    $(‘.province‘).html(data.province);
                    $(‘.catName‘).html(data.province);
                    $(‘.carrier‘).html(data.province);
                }
            });
        }

        var reg = /^(13|15|18)[0-9]{9}$/;
        //点击查询
        $(‘.button‘).click(function() {
            tel = $(‘.number-input‘).val();
            if(tel) {
                if(reg.test(tel)) {
                    ajax();
                } else {
                    $(‘.error‘).html(‘‘);
                    $(‘.error‘).html(‘请输入正确的手机号码‘);
                }
            }
        });

        //键盘事件
        $(‘.number-input‘).keydown(function(event) {
            if(event.keyCode == 13) {
                tel = $(‘.number-input‘).val();
                if(tel) {
                    if(reg.test(tel)) {
                        ajax();
                    } else {
                        $(‘.error‘).html(‘‘);
                        $(‘.error‘).html(‘请输入正确的手机号码‘);
                    }
                }
            }
        });
    </script>
</html>
时间: 2024-11-04 20:01:37

jsonp跨域请求数据实例之手机号码查询的相关文章

使用JSONP跨域请求数据

下面代码,可以使用JSONP进行跨域请求数据,Insus.NET记录以下,以备忘记. 使用JSONP跨域请求数据

JSONP跨域请求数据报错 “Unexpected token :”的解决办法

原文  http://www.cnphp6.com/archives/65409 Jquery使用ajax方法实现jsonp跨域请求数据的时候报错 “Uncaught SyntaxError: Unexpected token :”,主要问题在于返回的数据格式不正确 本地虚拟两个域名,分别为:www.test.com.www.abc.com http://www.test.com/index.html页面点击按钮,请求返回 www.abc.com域名目录下的文件的数据 ,其代码为: <!DOCT

Jsonp 跨域请求实例

关于jsonp的一个实例,其实自己也不是很了解,今天下午稍微研究了一下: 简单来说,jsonp就是为了两个不同网站之间数据传递而产生的,主要用于js脚本,因为浏览器本身是禁止跨域访问的: 本机实例: http://127.0.0.1:80/index.php <script src="http://cdn.staticfile.org/jquery/1.11.1/jquery.min.js"></script> <script type="tex

PHP AJAX JSONP实现跨域请求使用实例

在之前我写过“php返回json数据简单实例”,“php返回json数据中文显示的问题”和“在PHP语言中使用JSON和将json还原成数组”.有兴趣的童鞋可以看看 今天我写的是PHP AJAX JSONP使用的实例.不清楚jsonp是什么的请自己搜索 实例1 test.html <!doctype html> <html> <head> <meta charset="utf-8"> <title>test</title

JSONP(跨域请求) —— 一种非官方跨域数据交互协议

1.JSONP的作用 由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名.协议.端口)的资源,为 了实现跨域请求,可以通过script标签实现跨域请求,然后再服务器端输出JSON数据并执行回调函 数,从而解决了跨域的数据请求. JSONP协议的一个要点:允许用户传递一个callback参数给服务器端,然后服务器端返回数据时 会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自 动处理返回函数了. 2.如何使用JSONP? 在客户端

.net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器

1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.WebForm使用母版页进行登录时候的验证 //新建一个页面父类 public abstract class BasePage:Page { protected void Page_Load(object sender, EventArgs e) { //1.身份验证的方法 Session if (Se

使用jquery实现跨域请求数据

首先处理服务器代码,使返回的数据符合特定的格式,为了方便这里使用了php test.php代码如下 1 <?php 2 $con = mysql_connect("localhost","root","root"); 3 mysql_select_db("test", $con); 4 5 $result = mysql_query("select username,password from user&quo

js跨域请求数据的3种常用的方法

由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求.那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理:1.JavaScript   在原生js(没有jQuery和ajax支持)的情况下,通常客户端代码是这样的(我假设是在localhost:8080的端口下的http://localhost:8080/webs/i.mediapower.mobi/wutao/index.html页面的body标签下面加入以下代码): <script

谈谈跨域请求数据的几种常用的方法

由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求. 那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理: 1.JavaScript 在原生js(没有jQuery和ajax支持)的情况下,通常客户端代码是这样的(我假设是在localhost:8080的端口下的http://localhost:8080/webs/i.mediapower.mobi/wutao/index.html页面的body标签下面加入以下代码): <script