API调用跨域问题

近日有开发者进行开发测试的时候,表示跨域问题较难解决,前端调用了jquery, 或其他 javascript 库。这个问题的解决方法比较多,其中之一是我们即将提供XJIHE开发SDK,利用SDK,将有效避免一些初级问题,加快开发速度。

2 个回答:
  • <html>

    <head>

    <meta charset="utf-8"/>

    <script type="text/javascript" src="jquery.js"></script>

    <!-- jquery.js 可以找一个常见的jquery文件代替-->

    <script type="text/javascript">

    $(function(){

        $('button').click(function(){

             $.ajax({

                 type: "GET",

                 url: "http://www.xjihe.com/api/life/living/tips",

    //apikey 可以注册之后登陆到个人中心首页获取,

    //请注意该APIKEY 和计费有关,不要在公众场合发布

                 data: {apikey:"rSjnUYXXXXXXXXXXXXXXXXXXX", tip:"纱窗"},

                 dataType: "jsonp",

                 success: function(data){

                             $('#resText').empty();  

                             var html = ''; 

      alert(data.success);//如果是false, 那么数据没有成功获取

      if(data.success == true){

      //一种方法用来解析json结果

    for(var i=0;i<data.result.length;i++)

    {

    var item = data.result[i];

    alert(item.tip)//tip是该API输出的字段


                             $.each(data.result, function(i, tip){  

                                 html +=data.result[i].tip;

                             });

                             $('#resText').html(html);

                          }

    }

             });

        });

    });

    </script>

    </head>

    <body>

    <button>获得 JSON 数据</button>

    <div id="resText"></div>

    </body>

    </html>


    2016-04-01 12:40:02
  • ws**

    也可以使用jsonp的方式,但是不推荐使用此方法,安全性受不到保障。

    简单可以用jquery ajax jsonp调用,方法如下:

    $.ajax({
        url: url,
        dataType: 'jsonp', //dataType为jsonp
        data: xxx, //记得添加apiKey
        type: 'get',
        success: function(data) {
            console.log(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert('error');
            alert(XMLHttpRequest.status);
            alert(XMLHttpRequest.readyState);
            alert(textStatus);
        }
    });
    2016-04-01 11:51:34
友情提示! 小伙伴们正在等着你的解答呢!请在下方输入你的解答。

相关问题