HTML页面通过ajax实现跨域

jq支持ajax就行,*注意:服务端环境配上maven:


        
            com.sun.jersey.samples
            jsonp
            1.19.2
        

 

1.这是一个jq的ajax访问方式:

浏览器端:

$.ajax({
            type:'get',
            url:'http://127.0.0.1:8081/test/data.do',
            dataType:'jsonp',
            jsonp:'callback',
            jsonpCallback:"successCallback",

//此处的jsonpCallback回调函数会出现访问成功但是回调error的情况,详情看此链接  https://blog.csdn.net/luxiangzhou/article/details/52400436
            success:function(data){
                alert("成功调用,返回200且success");
                alert(data.name);
            },
            error:function(XMLHttpRequest, textStatus, errorThrown){
                alert("失败调用,返回error");
                 alert(XMLHttpRequest.status);
                 alert(XMLHttpRequest.readyState);
                 alert(textStatus);
            }
        }); 

2.服务器端:参数可以试着调一下

@RequestMapping("/data")
        public void getData(HttpServletRequest req,HttpServletResponse rps) throws Exception{
            System.out.println("调用测试函数");
            String str  = "Hello world";
            JSONObject json = new JSONObject();//将maven依赖增加的jar包添加进此类中
            json.put("name", str);
            try {
                String callstr = "successCallback("+json.toString()+")";//回调函数名字以及格式如此处规定
                rps.getWriter().print(callstr);
                System.out.println(callstr);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

也是搜了很多天才找到这个方法,漏掉的地方欢迎评论

你可能感兴趣的:(java,spring,html5,jquery)