文档章节

关于 jsonp 跨域后返回 json 数据格式的问题

Koma
 Koma
发布于 2015/02/05 14:52
字数 203
阅读 136
收藏 1

首先,通过 jquery 的 jsonp 实现跨域请求,基本代码如下:

$.ajax({
    type: 'GET',
    url: '',
    data: {},
    dataType: 'jsonp',
    jsonp: 'callback',
    success: function(res) {
        console.log(res);
    }
});

然后在服务器端,准备返回一段 json 格式的数据,最开始的方式是这样:

die(json_encode($data));

意思是把一个数组转换成 json 字符串返回。

然后在客户端通过 firebug 调试的时候,死活说“语法错误。。。。”,怎么调都不行!

最后才明白过来,原来 jsonp 要求返回的数据格式和 ajax 请求返回的数据格式不一样,jsonp 是有特殊要求的,必须得像下面这样:

die($_GET['callback']."(".json_encode($data).")");

就这么一改,问题解决!

哪里有什么“语法错误。。。。” -_-||


© 著作权归作者所有

Koma
粉丝 60
博文 144
码字总数 105976
作品 1
天津
程序员
JSONP跨域GET请求解决Ajax跨域访问问题

需求:需要前端web页面异步调用后台的Webservice方法返回信息。 实现方法有多种,本例采用jQuery+Ajax,完成后,在本地调试了一切ok,但是部署到服务器上以后就出现问题了,后台服务调用没有响...

文文1
2015/12/04
568
2
关于浏览器跨域问题Access-Control-Allow-Origin

其实很早就接触过前端开发 也处理过跨域问题(当时采用的是jsonp server+client 都要改动。。。。) 现在这段时间也在做这块 记录+整理 跨域问题是什么gui? 一个网站的网址组成包括协议名,...

FRED丶DON
2015/09/20
1K
2
说说JSON和JSONP,也许你会豁然开朗(转)

言   由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。   当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本...

老朱教授
2017/08/27
0
0
说说JSON和JSONP,也许你会豁然开朗,含jQuery用例

说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨...

风一样
2013/03/11
0
0
解决跨域问题的利器——JSONP

Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 函...

筱飞
2016/06/27
116
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
226
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
1
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部