ajax跨域请求简单实现Java后台

因为官网有一个合作加盟的功能,需要一个表单录入,但是官网除了这个功能,都是静态页面,所以就准备写一个ajax跨域,保存到之前公司项目的后台管理系统去,第一次用ajax跨域,网上很多参考。这也是我的第一篇博文,准备以后养成这个习惯,以备后期参考。。。。。

通过自己N久找代码的经验,自我觉得大多数人应该不喜欢理论太多的文章,所以闲话不多说了,直接上代码

首先前端构造ajax请求:

function ajaxTest(){
            $.ajax({
                type:"get",
                async:false,
                url:"http://www.xxxx.com/test.do",
                dataType:"jsonp",
                //传递给请求处理程序,用以获得jsonp回调函数名的参数名(默认为:callback)
                jsonp:"jsoncallback",
                //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
                jsonpCallback:"jsonpCallback_success",
                //成功获取跨域服务器上的json数据后,会动态执行这个callback函数
                success:function(data){
                    alert(data.name);
                },
                error : function() {  
                    alert("fail");  
                }
            });
        }
上面代码就是前端的ajax代码了,当然,怎么调用我就不多说,,,,

接下来看Java代码

public void test(HttpServletRequest request,HttpServletResponse response){
		try {
			//根据html指定的jsonp回调函数的参数名,获取回调函数的名称
			String callbackName=(String)request.getParameter("jsoncallback");
			//callbackName的值其实就是:jsonpCallback_success
			System.out.println("---------"+callbackName);
			String result="{\"name\":\"张三\",\"age\":28}";
			//最终返回的数据为
			String renderStr=callbackName+"("+result+")";
			response.setContentType("text/plain;charset=UTF-8");
			response.getWriter().write(renderStr);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

好了,简单的ajax跨域就实现了,亲测有用的。本人也是初次尝试,知道肯定这也只是基础的,还望大神勿喷!

你可能感兴趣的:(跨域,Ajax)