jsonp获取服务器数据的方式
- jsonp获取服务器的数据,有两种
- 一,跨域
- 二,不跨域
- 如果跨域
- js的写法有两种
- 1,
- <script type="text/javascript">
- $(function() {
- $.getJSON('http://localhost:8090/search?jsoncallback=?' ,
- function(json) {
- alert(json);
- var html = "";
- for (var key in json.data) {
- html = html + "<img src='http://localhost:8090/img/99999/o/" + json.data[key].filename + "'><br>";
- html = html + "名称:" + json.data[key].filename + "<br>";
- html = html + "category:" + json.data[key].category + "<br>";
- html = html + "height:" + json.data[key].height + "<br>";
- html = html + "width:" + json.data[key].width + "<br>";
- html = html + "length:" + json.data[key].length + "<br>";
- html = html + "<hr>";
- }
- $('#imageList').html(html);
- }
- );
- });
- </script>
- get的ur后面有jsoncallback=?
- 这时候,要在服务器端增加如下代码
- hr.getParameter("jsoncallback") +"({jsonp数据的格式})"
- 例子
- jQuery1510062266528242707175_1324369820794({"data":[{"category" : "all","height" : "194","_id" : "4ebce7b5523e7e91029f910a","keyword" : "","width" : "259","chunkSize" : "262144","length" : "9082","md5" : "534a94756fc98a6db0483ee702297a82","filename" : "img001_images_029.jpeg","contentType" : "null","uploadDate" : "Fri Nov 11 18:15:33 JST 2011","aliases" : "null"},{"category" : "all","height" : "194","_id" : "4ebce7b5523e7e91029f9108","keyword" : "","width" : "259","chunkSize" : "262144","length" : "10987","md5" : "7b85b894132f78b2b90cd3fef27317a6","filename" : "img001_images_028.jpeg","contentType" : "null","uploadDate" : "Fri Nov 11 18:15:33 JST 2011","aliases" : "null"}]});
- 注意,是如下格式jQuery1510062266528242707175_1324369820794({xxxx}),要加个()的哦。
- 2,get的ur后面有jsoncallback=?的写法可以改为get的ur后面有jsoncallback=getdata
- 同时 function(json) 前要加上getdata=
- 具体如下
- <script type="text/javascript">
- $(function() {
- $.getJSON('http://localhost:8090/search?jsoncallback=getdata' ,
- getdata=function(json) {
- alert(json);
- var html = "";
- for (var key in json.data) {
- html = html + "<img src='http://localhost:8090/img/99999/o/" + json.data[key].filename + "'><br>";
- html = html + "名称:" + json.data[key].filename + "<br>";
- html = html + "category:" + json.data[key].category + "<br>";
- html = html + "height:" + json.data[key].height + "<br>";
- html = html + "width:" + json.data[key].width + "<br>";
- html = html + "length:" + json.data[key].length + "<br>";
- html = html + "<hr>";
- }
- $('#imageList').html(html);
- }
- );
- });
- </script>
- 这个时候,服务器端就不需要加上hr.getParameter("jsoncallback")了,直接返回json格式就行了。
- 具体参见
- http://www.cnblogs.com/5201314/archive/2009/06/23/1509552.html
- http://51mst.iteye.com/blog/1170798
- 二,如果是不跨域的,
- 不需要加上jsoncallback,直接如下就行了,同时服务器返回的格式,就是纯jsonp的格式。
- <script type="text/javascript">
- $(function() {
- $.getJSON('http://localhost:8090/search' ,
- function(json) {
- alert(1);
- var html = "";
- for (var key in json.data) {
- html = html + "<img src='http://localhost:8090/img/99999/o/" + json.data[key].filename + "'><br>";
- html = html + "名称:" + json.data[key].filename + "<br>";
- html = html + "category:" + json.data[key].category + "<br>";
- html = html + "height:" + json.data[key].height + "<br>";
- html = html + "width:" + json.data[key].width + "<br>";
- html = html + "length:" + json.data[key].length + "<br>";
- html = html + "<hr>";
- }
- $('#imageList').html(html);
- }
- );
- });
- </script>
- 服务器返回代码
- {"data":[{"category" : "all","height" : "194","_id" : "4ebce7b5523e7e91029f910a","keyword" : "","width" : "259","chunkSize" : "262144","length" : "9082","md5" : "534a94756fc98a6db0483ee702297a82","filename" : "img001_images_029.jpeg","contentType" : "null","uploadDate" : "Fri Nov 11 18:15:33 JST 2011","aliases" : "null"}]}
jsonp获取服务器数据的方式的更多相关文章
- XMLHTTPRequestObject获取服务器数据
http://www.educity.cn/develop/526316.html 在Web客户端使用xmlhttp对象,可以十分方便的和服务器交换数据,我们可以获取和发送任何类型的数据,甚至二进制数 ...
- SpringMVC 02: SpringMVC响应get和post请求 + 5种获取前端数据的方式
响应get和post请求 SpringMVC中使用@RequestMapping注解完成对get请求和post请求的响应 项目结构和配置文件与SpringMVC博客集中的"SpringMVC ...
- nodejs获取服务器数据到页面
const Koa = require('koa'); const Router = require('koa-router'); const app = new Koa(); const route ...
- 十一、React 获取服务器数据: axios插件、 fetch-jsonp插件的使用
react获取服务器APi接口的数据: react中没有提供专门的请求数据的模块.但是我们可以使用任何第三方请求数据模块实现请求数据 一.axios 获取Api数据 使用文档:https://www. ...
- 模拟获取post数据的方式
使用下面两种方法可以获取post数据 .通过$HTTP_RAW_POST_DATA获取 $post=$GLOBALS['HTTP_RAW_POST_DATA']; 但需要修改相应的php.ini指令 ...
- IOS开发之Post 方式获取服务器数据
//1.创建post方式的 参数字符串url +(NSString *)createPostURL:(NSMutableDictionary *)params { NSString *postStri ...
- AJAX 跨域请求 - JSONP获取JSON数据
Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...
- AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
由于受到浏览器的限制,ajax不允许跨域通信.如果尝试从不同的域请求数据,会出现安全错误.如果能控制数据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误.但是,如果仅停留在自己的服务器 ...
- 【转】AJAX 跨域请求 - JSONP获取JSON数据
来源:http://justcoding.iteye.com/blog/1366102/ Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流 ...
随机推荐
- javascript中关于坐标 大小 的描述
window对象 有效桌面的大小,除去桌面下面的任务栏的高度 window.screen.availHeight : window.screen.availWidth : 浏览器窗口的左上角相对于 ...
- CSS 外边距(margin)重叠及防止方法
边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容.补白.边框)重合在一起而形成一个单一边界. 两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大 ...
- Unity3D判断鼠标向右或向左滑动,响应不同的事件
private var first = Vector2.zero; private var second = Vector2.zero; function Update () { } function ...
- 从maya导入物体 Importing Objects From Maya
原地址:http://game.ceeger.com/Manual/HOWTO-ImportObjectMaya.html Unity natively imports Maya files. To ...
- Sqli-labs less 24
Less-24 Ps:本关可能会有朋友和我遇到一样的问题,登录成功以后没有修改密码的相关操作.此时造成问题的主要原因是logged-in.php文件不正确.可重新下载解压,解压过程中要主要要覆盖. 本 ...
- Sqli-labs less 52
Less-52 和less50是一样的,只是这里的mysql错误不会在前台显示,但是对于stacked injection是一样的利用方式 http://127.0.0.1/sqli-labs/Les ...
- BZOJ1502: [NOI2005]月下柠檬树
Simpson法相当好用啊!神奇的骗分算法! /************************************************************** Problem: 1502 ...
- LoaderManager使用详解(二)---了解LoaderManager
了解LoaderManager 这篇文章将介绍LoaderManager类,这是该系列的第二篇文章. 一:Loaders之前世界 二:了解LoaderManager 三:实现Loaders 四:实 ...
- 为jquery qrcode生成的二维码嵌入图片
在一次微信项目中,需要实现通过扫描二维码来进行会议签到,二维码的生成选择了qrcode.js的版本,然后使用jquery.qrcode.js插件来绘制二维码. <script type=&quo ...
- 来认识下less css
简介 感觉自己都out了,跟不上web时代的潮流了,前不久才刚接触这玩意,发觉lesscss在某些方面还挺有用的,说白了这东西就是一种动态的样式语言,语法类似于css,可以像java那样进行编译,生成 ...