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");
}
});