1. 程式人生 > >HBULIDER怎麼和後臺資料庫進行連結獲取資料

HBULIDER怎麼和後臺資料庫進行連結獲取資料

首先我是用myecilpse來和hubilder進行跨域相連的,

1、需要在myeclipse裡面搭建一個自己的過濾器,程式碼如下:

//過濾器
public class crossDomainFilter implements Filter{

        public void destroy() {
        }

        public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
                throws IOException, ServletException {
            HttpServletResponse res = (HttpServletResponse) resp;
            //這裡最好不要寫萬用字元,如果允許多個域請求資料的話,可以直接用逗號隔開:"http://www.baidu.com,http://google.com"
            res.setHeader("Access-Control-Allow-Origin", "*");
            res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
            res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, Accept,X-Requested-With");
            chain.doFilter(req, resp);
        }

        public void init(FilterConfig arg0) throws ServletException {
            
        }
    }

2、然後在web.xml裡面吧這個過濾器加上去

<filter>
       <filter-name>myFilter</filter-name>
       <filter-class>com.base.filter.crossDomainFilter</filter-class>
   </filter>
   <filter-mapping>
       <filter-name>myFilter</filter-name>
       <url-pattern>/*</url-pattern>
   </filter-mapping>

然後就可以根據自己的ip地址,在hbuilder上面寫ajax,帶上你的程式碼,你想要上面的程式碼能執行需要先把myeclipse執行起來,並且只能在同一個區域網上執行

3、我在hbulder上面的ajax程式碼:

mui.ajax('http://10.21.0.5:8080/storm/material/doSearchapp/',{
            data:{
                shicai:value
            },
            dataType:'json',
            type:'post',
            <!--//crossDomain: true, //強制使用5+跨域-->
            timeout:10000,
            crossDomain:true,    
            success:function(data){
                var rowData =data.material;
                for(var i=0;i<rowData.length;i++){
                    $("#append").append("<tr><td>"+rowData[i].NAME+"</td></tr>");
                }
                
            },
            error:function(xhr,type,errorThrown){
                alert("88888");
            }
        });