jsonp(跨域请求)案例

jsonp案例:

前端:

<script type="text/javascript">
    function getMatchCountry(){
         var key = $.trim($(".global_search_input").val());
         if (key==''){
            $(".search_list").hide();
            return
          };
$.ajax({
             type: "get",
             async: false,
             url: "http://localhost:9091/leading/pageTopAction.aspx?method=match_country_lua&l="+_navLanguage+"&q="+key,
             dataType: "jsonp",
             jsonp: "callback",
             jsonpCallback:"flightHandler",
             success: function(data){
                 $(".search_list").empty();
                 var ht = "";
               $.each(data, function(i,item) {
                   if(i==0){
                        ht += '<li οnmοuseοver="javascript:hoverCountryItem(this);" class="country_item_h"><a href=http://'+item.url+'><p>'+item.countryName+'<p><a></li>';
                   }else{
                        ht += '<li οnmοuseοver="javascript:hoverCountryItem(this);"><a href=http://'+item.url+'><p>'+item.countryName+'<p><a></li>';
                   }
                });
                //$(".search_list").append('<li> </li>' );
                $(".search_list").html(ht);
             },
             error: function(){
                 alert('fail');
             }
         });
}
</script>


服务端:

/**
	 * 查询国家匹配(lua专用)
	 * @return由于出现错误 c00ce56e 而导致此项操作无法完成。
	 * @throws Exception
	 */
	public String match_country_lua()throws Exception{
		PrintWriter out = null;
		String resultJson=null;
		//getResponse().setContentType("text/json;charset=utf-8");
        try {
		out = response.getWriter();
		
		PagerModel<LanguageStation> pm = languageStationRsClientImpl.pageForBbd(request.getParameter("l"), request.getParameter("q"));
		if(pm != null ){
			if(pm.getDatas() != null){
				resultJson= JSONObject.toJSONString(pm.getDatas());
			}
		}
		
		//boolean jsonP = false;
		String cb = request.getParameter("callback");
		response.setContentType("text/javascript");
		
		
		if(resultJson!=null)
		{
        out.write(cb+"("+resultJson+");");  
        out.flush();  
		}
		out.close(); 
    	} 
        catch (IOException e) 
        {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
		return NONE;
		
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值