`

ajax 跨域请求问题 jquery jsonp

 
阅读更多

最近在项目中面临 ajax 跨域请求问题。

和同事讨论半天,网上查贴一二,附上解决方案

 

 

<script>
$(document).ready(
	function(){
		$("#testBtn").bind("click",loginFun);
		//$("#loginBtn").bind("click",loginFun);
		//$("#setLoginBtn").bind("click",setLoginPas);
		
	}
)
function loginFun(){
	alert(111)
$.ajax({
	type:'get',
	url:'http://127.0.0.1:8080/ttc/twoDimensionalCodeAction/testAjaxCrossDomain.htm',
	beforeSend: function(XMLHttpRequest) {
	},
	data:"lokey=7758521",
	dataType:'jsonp',
	jsonp: 'jsoncallback',
	success:function(data){
		alert(data.keyAlive);
		            
	},
	error: function (XMLHttpRequest, textStatus, errorThrown) {
			alert(errorThrown);
		}
})

}

</script>

 

服务器端代码:

 

public void testAjaxCrossDomain(HttpServletRequest request,
			HttpServletResponse response) throws Exception{
		System.out.println("接收跨域请求");
		String loKey = RequestGetString.getString(request, "lokey");
		System.out.println("loKey:"+loKey);
		String jsoncallback = RequestGetString.getString(request, "jsoncallback");
		PrintWriter out = null;
        out = response.getWriter();
        JSONObject json = new JSONObject();
        Random rand = new Random(); 
        int i = rand.nextInt(100);
        StringBuffer abc = new StringBuffer("0123456789");
        for(int j = 0;j<100000;j++){
        	abc.append("0123456789").append("-").append(j).append("-").append("\n");
        }
		json.put("keyAlive", Integer.toString(i)+" "+loKey+" "+abc.toString());
        out.print(jsoncallback+"("+json+")");
		
	}
分享到:
评论

相关推荐

    利用JQuery jsonp实现Ajax跨域请求json数据

    利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据

    jsonpajax跨域请求

    基于jQuery的jsonp ajax跨域请求,

    jquery.jsonp插件

    ajax跨域请求,jquery.jsonp插件

    jquery的ajax跨域请求原理和示例

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决...

    jquery下利用jsonp跨域访问实现方法

    本文将给您介绍如何使用getJSON来实现异步跨域提交表单

    ajax跨域请求js拒绝访问的解决方法

    dataType:”json”, } 不能用jsonp 因为jsonp发送数据 type 为 ... 您可能感兴趣的文章:跨域请求之jQuery的ajax jsonp的使用解惑AJAX跨域请求json数据的实现方法jQuery.ajax 跨域请求webapi设置headers的解决方案JQuer

    JQuery的Ajax跨域请求原理概述及实例

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决...

    JSONP实现Ajax跨域访问

    主要从三方面来通过jsonp来实现ajax跨域问题: 1.javascript方法 2.jquery $.ajax方法 3.jquery $.getJSON方法 不看会后悔的!

    详解js跨域请求的两种方式,支持post请求

    常用的jquery实现跨域调用 $.ajax({ url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/index.php", dataType: "jsonp", jsonp: "callback", context: document.body, success: function(data) { ...

    JSONP跨域GET请求解决Ajax跨域访问问题

    实现方法有多种,本例采用jQuery+Ajax,完成后,在本地调试了一切ok,但是部署到服务器上以后就出现问题了,后台服务调用没有响应,怎么回事?代码没怎么改动,唯一修改的地方就是jQuery的ajax方法中的url地址。难道...

    AJAX跨域请求json数据的实现方法

    我们都知道,AJAX的一大限制是不允许跨域请求。 不过通过使用JSONP来实现。JSONP是一种通过脚本标记注入的方式,它是可以引用跨域URL的js脚本,不过需要提供一个回调函数(必须在您自己的页面上),因此,你可以自己...

    跨域请求之jQuery的ajax jsonp的使用解惑

    直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普通的ajax请求差不多,没有深入了解;出现了这种错误,几经调试(检查后台的代码和js部分的属性设置)还是不行,让我感觉很是意外和不解。...

    轻松搞定jQuery+JSONP跨域请求的解决方案

    了解了jsonp之后,大家应该也都明白了,jsonp主要就是用来实现跨域的获取数据,今天我们就来详细探讨下如何在实际中应用jsonp实现跨域

    jquery+ajax实现跨域请求的方法

    本文实例讲述了jquery+ajax实现跨域请求的方法。分享给大家供大家参考。具体实现方法如下: 说明:这里的dataType 为 “jsonp” ;type 只能为 GET 前台请求代码如下: 代码如下:$.ajax({  type: “GET”,  url...

    jQuery使用ajax跨域请求获取数据

    跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作...

    AJax与Jsonp跨域访问问题小结

    本文给大家汇总介绍了JavaScript的AJax,JQuery的AJax以及利用jsonp实现跨域访问的问题,非常的细致全面,有需要的小伙伴可以参考下。

    jquery-jsonp.js

    1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;  2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响...

    jquery中ajax处理跨域的三大方式

    由于JS同源策略的影响,因此js只能访问同域名下的文档。因此要实现跨域,一般有以下几个方法: 一、处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的... ajax本身是不可以跨域的, 通过产生一个script标签来实

Global site tag (gtag.js) - Google Analytics