美文网首页
$.ajax跨域,服务器返回的是json格式

$.ajax跨域,服务器返回的是json格式

作者: 风筝啊 | 来源:发表于2018-03-14 09:43 被阅读0次

ajax跨域使用的是jsonp,返回的数据也应该是jsonp格式({}),但是昨天做了个项目,对方返回的是json格式,这个就尴尬了。服务器上的又不能改,所以只能另想办法了。
经过不懈努力,终于找到了方法,通过雅虎的YQL雅虎查询语言转换一下。

当然请求回来的数据虽然是可以使用了,但是也经过了层层包裹。

image.png

相信看到这个数据结构,也都能够解析,调用数据了。不罗嗦了

//这是我们正常跨域请求需要的请求链接。里面的参数正常应该是需要js动态补充的,这里只是歌例子。
 var oUrl = "https://api.xxxx.com/Public/registerForCRMbyExtenduid?mob=13111111111&pw=000000"

            $.ajax({
                url: 'http://query.yahooapis.com/v1/public/yql',//雅虎的请求地址
                dataType: 'jsonp',
                data: {
                    q: "select * from json where url=\'" + oUrl+ "'",//数据格式。oUrl是上面我们动态生成的链接
                    format: "json"
                },
                success: function (data) {
                    //这里是正常解析了。
                    console.log(data.query.results.json)
                    if(data.query.results.json.success  == "false"){
                        $("#warning").fadeIn();
                        $('#warning strong').html(data.query.results.json.message);
                    }else if(data.query.results.json.success  == "true"){
                        $("#success").fadeIn();
                        $('#success strong').html(data.query.results.json.message);
                    }
                },
                error:function(){
                    $("#warning").fadeIn();
                    $('#warning strong').html("连接超时");
                }
            });

这里数据是可以展示成功了。但是相对来说,这返回速度真不是一般慢啊。所以,如果需要做天气预报那样的还可以忍受,但是象我这次的东西真的是没办法忍受的。

后来领导发话了。这个东西还是后台返了我一个jsonp的数据。哈哈。

相关文章

  • Ajax请求跨域问题

    遇到ajax请求跨域问题,解决方式,改dataType为jsonp json和jsonp返回数据格式json格式 ...

  • ajax跨域请求,自定义回调方法名defined。我就呵呵了。

    之前说了,ajax的jsonp跨域请求,返回的是json格式。用了雅虎的YQL才能正确访问,-----$.ajax...

  • $.ajax跨域,服务器返回的是json格式

    ajax跨域使用的是jsonp,返回的数据也应该是jsonp格式({}),但是昨天做了个项目,对方返回的是json...

  • 跨域

    什么是跨域? 为什么会发生ajax跨域?浏览器限制跨域【发出的请求不是本域】XHR请求【json】 解决思路:1:...

  • 关于跨域

    跨域, 一个傻逼又古老的话题 碰到一个前端萌新问跨域的问题,他们的后端返回的是json格式的数据, 并且没有设置跨...

  • 2018-01-27

    ajax的步骤 1.index.jsp直接发送ajax请求。 2.服务器将查出的数据以json格式返回给浏览器。 ...

  • javaweb 中的跨域请求

    方法一 、使用ajax进行跨域请求 方法json数据 配置拦截器用于允许指定的请求跨域 为含有/json/的url...

  • 2017-10-13

    JSONP将访问跨域请求变成了执行远程JS代码,服务端不再返回JSON格式的数据,而是返回了一段将JSON数据作为...

  • JSONP的劫持

    关于 JSONP JSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求...

  • 学习笔记《JSend》

    在 AJAX 操作的时候,服务器端的数据返回格式是 JSON,但是 JSON 的具体内容呢?是否有一定的标准可以参...

网友评论

      本文标题:$.ajax跨域,服务器返回的是json格式

      本文链接:https://www.haomeiwen.com/subject/pwbxqftx.html