ajax跨域请求

Posted 程序猿菜鸟学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax跨域请求相关的知识,希望对你有一定的参考价值。

ajax跨域请求:

        服务端

@RequestMapping("/baseList")

public void baseList(String siteid, String title, Page page,String jsoncallback, HttpServletResponse response){

Map<String, Object> map = new HashMap<String, Object>();

String sql ="1=1";

if(StringUtil.notNullOrEmpty(siteid) && !sql_inj.sql_inj(siteid)){

sql = sql + " and site_id in ("+siteid+")";

}

if(StringUtil.notNullOrEmpty(title) && !sql_inj.sql_inj(title)){

sql = sql + " and INSTR(title,'"+title+"')";

}

map.put("page", page);

map.put("whereclause", sql);

List<Base3WithBLOBs> list = base3Service.selectByHDPage(map);

JSONObject obj = new JSONObject();

obj.put("data", list);

String result ="";

if(StringUtil.isNullOrEmpty(jsoncallback)){

result = obj.toString();

}else{

result = jsoncallback+"("+obj.toString()+")";

}

PrintWriter out = null;

        response.setContentType("text/html");

        response.setCharacterEncoding("UTF-8");

        try {

out = response.getWriter();

} catch (IOException e1) {

e1.printStackTrace();

}

        out.print(result);

}

客户端


<script type="text/javascript" ></script>

<body>

<h2>Hello World!</h2>

<div id="test"></div>

</body>

<script type="text/javascript">

list();

function list(){

$.ajax({ 

    async: false, 

    url: "http://www.liuweilianhe.com/zixuncaiji/base3/baseList.html", 

    type: "POST", 

    dataType: 'jsonp', 

    //jsonp的值自定义,如果使用jsoncallback,那么服务器端,要返回一个jsoncallback的值对应的对象. 

    jsonp: 'jsoncallback', 

    //要传递的参数,没有传参时,也一定要写上 

      data: {

      "siteid":"",

      "title":"Technology"

      }, 

    timeout: 5000, 

    //返回Json类型 

      contentType: "application/json;utf-8", 

    //服务器段返回的对象包含name,data属性. 

    success: function (result) { 

        $.each(result.data,function(i,item){

        $("#test").append(item.docno+"."+item.siteId+":"+item.title+"("+item.saveTime.time+")<br>");

        })

    }, 

    error: function (jqXHR, textStatus, errorThrown) { 

        alert(textStatus); 

    } 

});

}

</script>


最后出来的结果

这样我们就实现了ajax跨域请求

ajax跨域请求



以上是关于ajax跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

ajax 跨域

跨域请求Ajax跨域请求JSONP

Ajax中的跨域请求(跨源请求)

xmpp js端跨域请求

聊聊Ajax跨域

ajax跨域请求