JSONP的原生实现和JQ实现(下)

JQ实现方式:

JQ实现JSONP的时候看起来和ajax调用方式很像,目的也一样,都是请求url,染过获得服务器的数据之后进行处理。但两者完全是两个不同的东西。只是JQ这个框架将jsonp作为ajax的一种形式进行了封装。 实质上:ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加script标签来调用服务器提供的js脚本。

ajax与jsonp的区别不在于是否跨域,ajax通过服务端代理一样可以实现跨域,jsonp本身也不排斥同域的数据的获取。 话不多说,下边是jq的实现,用过console.log得到目标数据:

  $(function () {
            $('#inp').keypress(function () {
                var str = $(this).val();
                $.ajax({
                    url: 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',
                    data: {
                        wd: str
                    },
                    dataType: 'jsonp',
                    jsonp: 'cb',
                    success: function (data) {
                        console.log(data);
                    },
                    error: function () {
    
                    }
    
                });
            });
        });

以上!

END

読んでくれてありがとう~