jquery的jsonp的使用

客户端

$(function(){
    $.ajax({
        type: "get",
        async: false,
        url: "http://test.com/json_data.php",
        dataType: "jsonp",
        jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
        jsonpCallback:"mycall",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
        success: function(data){
            console.log(data);
        },
        error: function(){
            alert(‘fail‘);
        }
    });
});

json_data.php中的内容如下

$callbak = $_REQUEST["callback"];//接收jquery带来的回调函数名称
$jsonArr = array(‘key1‘=>‘val1‘,‘key2‘=>‘val2‘,‘key3‘=>‘val3‘);//要输出的数据数组
$str = $callbak . "(" .json_encode($jsonArr).")";
echo $str;

这样即完成了解决跨域的调用,需要注意的是,服务器端需要在返回的json内容的基础上加上回调函数的调用

回调函数名. "(" .json内容.")";
时间: 2024-07-31 13:52:44

jquery的jsonp的使用的相关文章

JQuery+ajax+jsonp 跨域访问

Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/view/2131174.htm,下面给出例子: 一.客户端 Html代码   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.

jQuery ajax jsonp 使用模型

jQuery对ajax的支持 $.ajax({ //json形式数据 url: "DemoServlet", method: "post", data:{ //此处表示向服务器端传递的参数 msg: "msg的数据" did: "did的数据" }, dataType: "text", //"xml" "json" //服务器端处理后的响应方式 success: fu

jquery ajax jsonp跨域调用实例代码

今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApp.WebForm1" %><!DOCTYPE html P

使用springMVC和Jquery实现JSONP

JSONP这个东东是啥我就不写了,直接贴实现的代码 JAVA代码: /** * * 查询用户是否已经提交认证获取已经是认证会员 * * 使用spring mvc的直接返回string会遇到分号转义后字符串不完整的问题 * @param userId * @param callback * @return * @see [相关类/方法](可选) * @since [产品/模块版本](可选) */ @RequestMapping("/queryAuthTaskStatus") @Respo

jQuery的jsonp跨域是这么回事.

实现跨域请求的有iframe,img,script中的src属性.那么jquery是如何解决跨域请求的呢? 一:项目jsonp2中有个app.js文件,代码如下: function app(json){ alert(json['name']); } 项目jsonp1中的index.html <script type="text/javascript" src="http://127.0.0.1:8020/jsonp2/js/app.js"></sc

jQuery处理JSONP

http://www.g7blogs.com/?p=821 作为一枚前端,提起jsonp大家都不会陌生.特别是在我们组内的业务中,和服务器端交互的数据几乎都是采用这种形式.但假如要让你用原生的JS写出XHR请求来构造JSONP,估计都要跪了吧.因为我们都习惯把jQuery当成了JS的一部分了,就好比平时都是坐飞机到帝都的,你突然说让我骑个单车上北京.不是说不行,只是平时骄奢惯了,适应不了原生态.所以这篇东西要说的并不是那些Google随便一搜就可以搜到的JSONP科普文,而重点要说的是jQuer

jquery结合JSONP教程—明河谈jquery

http://www.36ria.com/1714 \1.什么是jsonp? Ajax技术现在非常的盛行,但javascript的跨域问题一直是个问题,而jsonp的出现算是比较好的解决方案. 关于jsonp最详细的介绍请看:http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/ jsonp的基础知识上面这个页面已经非常详细了,不再重复.接下来重要演示jquery下jsonp的使用. 2.jquery与jsonp jquery已经可以完美的使

利用jQuery获取jsonp

前端js代码: $.ajax({ url: 'http://localhost:8080/webApp/somejsonp', dataType: "jsonp", jsonp: "callback", success: function (data) { console.log(data) } }) 服务端代码: 本例采用java实现  使用的springmvc伪代码 private boolean ifJsonp(HttpServletRequest reque

jQuery 使用 JSONP

<script type="text/javascript"> function callbackFunction(result, methodName) { var html = '<ul>'; for(var i = 0; i < result.length; i++) { html += '<li>' + result[i] + '</li>'; } html += '</ul>'; document.getEle

用jQuery实现jsonp跨域

跨域的安全限制都是指浏览器端来说的,服务器端是不存在的跨域安全限制的. 所以通过本机服务器端通过类似httpclient方式完成"跨域访问"的工作,然后在浏览器端用AJAX获取本机服务器端"跨域访问"对应的url,来间接的完成跨域访问也是可以的但很显然开发量比较大,但限制也很少,很多widget开放平台server端(如sohu博客开放平台)其实就在这么搞的,不在本次讨论范围. 要讨论的是浏览器端的真正跨域访问,推荐的是目前jQuer$.ajax()支持get方式的