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 站点(流 ...
随机推荐
- DEVICE DRAW VERTEX BUFFER TOO SMALL
D3D11 WARNING #356 这个傻warning的意思看起来是说vertex buffer 太小了 描述是这样的: Vertex Buffer at the input vertex slo ...
- JavaScript之表单验证讲解
JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. JavaScript 表单验证 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些 ...
- 使用WCF服务的客户端出现maxReceivedMessageSize异常
使用WCF服务的客户端出现maxReceivedMessageSize异常解决方案 当使用WCF的客户端调取的数据过多时,会出现这个异常.一般情况下,系统默认值是65536,大约容纳100-200条左 ...
- 数据库表 copy
db1为原数据库,db2为要导出到的数据库,fromtable 是要导出的表名 1.方法一:登录导出到的数据库,执行create table fromtable select * from db1.f ...
- 【二】php常用方法
-------------------------------数据类型------------------------------------------ 1.settype(var,type) 类 ...
- 2014 ACM/ICPC Asia Regional Xi'an Online(HDU 5007 ~ HDU 5017)
题目链接 A题:(字符串查找,水题) 题意 :输入字符串,如果字符串中包含“ Apple”, “iPhone”, “iPod”, “iPad” 就输出 “MAI MAI MAI!”,如果出现 “Son ...
- Linux网络编程5——使用UDP协议实现群聊
引言 本文实现的功能类似于我之前所写的一篇博文(Linux之select系统调用_2),区别在于进程之间的通信方式有所不同.之前的文章中,我所使用的是管道,而本文我将会使用socket接口. 需求 客 ...
- loadrunner之Paramater在负载测试中的数据生成规则
前段时间在做性能测试的时候,基于业务的需求,使用到了Unique Number的参数类型. 脚本的业务是注册以alien开头,后面接数字的用户帐号,填写相关帐号信息.提交企业信息进行审核. 其中用户帐 ...
- C#获取当前路径的方法
C#获取当前路径的方法如下: 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径. 2. ...
- proc插入数据到数据库
#include<stdio.h>EXEC SQL INCLUDE SQLCA; void insert (char password_[6],char id_[20],int balan ...