zoukankan      html  css  js  c++  java
  • ajax跨域请求

    1、httpclient代理处理跨域请求。

    1.1、请求服务器的xml

    (1)服务器端

    CloseableHttpClient httpClient = HttpClients.createDefault();
    		HttpGet httpGet = new HttpGet("http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=xml&version=1.1&q="+request.getParameter("q"));
    		try {
    			CloseableHttpResponse httpResponse = httpClient.execute(httpGet);
    			HttpEntity entity = httpResponse.getEntity();
    			if(entity !=null){
    				String tmp = EntityUtils.toString(entity);
    				httpResponse.close();
    				response.setContentType("text/xml;charset=utf-8");
    				PrintWriter out = response.getWriter();
    				out.print(tmp);
    				out.flush();
    				out.close();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    			System.out.println(e.getMessage());
    		}finally{
    		}
    

     (2)客户端

    $.ajax({
    					type:"get",
    					url:"/Ajax/fanyi.do",
    					data:"q=good",
    					success:function(xml){
    						var data = "";
    						data += $(xml).find("query").text();
    						data += $(xml).find("translation").text();
    						data += $(xml).find("basic").text();
    						$("#status").text(data);
    					}
    				});
    

    1.2 请求服务器的json格式

    (1)服务器端

    CloseableHttpClient httpClient = HttpClients.createDefault();
    		HttpGet httpGet = new HttpGet("http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=json&version=1.1&q="+request.getParameter("q"));
    		try {
    			CloseableHttpResponse httpResponse = httpClient.execute(httpGet);
    			HttpEntity entity = httpResponse.getEntity();
    			if(entity !=null){
    				String tmp = EntityUtils.toString(entity);
    				httpResponse.close();
    				response.setContentType("application/json;charset=utf-8");
    				PrintWriter out = response.getWriter();
    				out.print(tmp);
    				out.flush();
    				out.close();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    			System.out.println(e.getMessage());
    		}finally{
    		}
    

    (2)客户端

    $.ajax({
    					type:"get",
    					url:"/Ajax/fanyi.do",
    					data:"q=good",
    					success:function(data){
    						$("#status").text(data.translation);
    					}
    				});
    

      

  • 相关阅读:
    Asp.net2.0中的提供程序dashcommerce中的税率计算提供程序
    C#中的位操作
    一个很不错的日历控件
    统计商品留言信息,列出 已读,未读和总数
    Linq学习笔记
    TSQL 选择某一记录的前后相关记录
    XPath简明语法
    统计下载的周排行跟月排行
    二进制度序列化碰到的问题 切实认识Asp.net2.0页面编译机制
    Asp.net中Web.config 页面访问按角色授权配置
  • 原文地址:https://www.cnblogs.com/hpustudent/p/4099269.html
Copyright © 2011-2022 走看看