[js]jquery里的jsonp实现ajax异源请求

Posted 毛台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[js]jquery里的jsonp实现ajax异源请求相关的知识,希望对你有一定的参考价值。

同源请求-jquery

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

<script type="text/javascript">
    $.ajax({
        url: "data.txt",
        type: "get",
        dataType: "json",
        success: function (data) {
            console.log(data);
        }
    });
</script>

data.txt

{"name": "maotai", "age":22}

jsonp异源请求-jquery

  • 函数名是随机字符串
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<script type="text/javascript">
    // jsonp默认是get, jsonp默认使用callback 并且随机生成字符串作为函数名
    $.ajax({
        url: "https://suggest.taobao.com/sug?code=utf-8&q=%E5%9B%B4%E5%B7%BE",
        dataType: "jsonp",
        success: function (data) {
            console.log(data);
        }
    });
</script>
  • 指定函数名
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<script type="text/javascript">
    // jsonp默认是get, jsonp默认使用callback 并且随机生成字符串作为函数名
    $.ajax({
        url: "https://suggest.taobao.com/sug?code=utf-8&q=%E5%9B%B4%E5%B7%BE",
        dataType: "jsonp",
        jsonpCallback: "fn",
        jsonp: "cb",
        success: function (data) {
            console.log(data);
        }
    });
</script>

以上是关于[js]jquery里的jsonp实现ajax异源请求的主要内容,如果未能解决你的问题,请参考以下文章

用原生JS实现AJAX和JSONP

Django 第十九篇JS实现的ajax同源策略和前端jsonp解决跨域问题

基于原生JS的jsonp方法的实现

实现简单的PHP接口,以及使用js/jquery ajax技术调用此接口

JS 跨域方法思考

通过扩展让ASP.NET Web API支持JSONP