默認情況下是不允許跨域代用的。
什么是Access-Control-Allow-Origin
Access-Control-Allow-Origin是HTML5中定義的一種服務器端返回Response header,用來解決資源(比如字體)的跨域權限問題。
它定義了該資源允許被哪個域引用,或者被所有域引用(google字體使用*表示字體資源允許被所有域引用)。
由此可見,相同域必須滿足協議相同、端口相同、域名相同. 只要其中一點不滿足那就是跨域。

無論ajax是GET請求還是POST請求,Request Method都是OPTIONS。
mui ajax真機模擬不存在跨域問題,url的訪問地址要是公網地址或與真機相連接的局域網地址(在手機瀏覽器上能夠訪問服務器的資源)。
jquery ajax的跨域問題常見的解決方法是jsonp
$.ajax('http://192.168.1.107:8080/test/test.do';,{ data:{ username:username, password1:password1 }, dataType:'jsonp',//服務器返回json格式數據 crossDomain: true, jsonp: 'callback', type:'POST',//HTTP請求類型 timeout:10000,//超時時間設置為10秒; success:function(data){ if(data){ alert("登錄成功!"); }else{ alert("登錄失敗!"); } }, error:function(xhr,type,errorThrown){ console.log(type); //alert(xhr); } }); 后台 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Access-Control-Allow-Origin","*"); response.setContentType("text/json; charset=utf-8"); response.setHeader("Access-Control-Allow-Methods","GET,POST,OPTIONS,DELETE"); response.setHeader("Access-Control-Max-Age","3600"); response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); String callback=request.getParameter("callback"); if(null==callback){ System.out.println("不是跨域請求"); }else{ System.out.println("是跨域請求"); } PrintWriter out=response.getWriter(); String userName=request.getParameter("username"); String passWord=request.getParameter("password1"); Map<String,String> map = new HashMap<String,String>(); map.put("result", "true"); String jsonString="{\"a\":\"1\"}"; if("123456".equals(userName) && "123456".equals(passWord)){ //out.write(jsonString); out.println(callback+"("+jsonString+")"); }else{ //out.write(jsonString); out.println(callback+"("+jsonString+")"); } out.flush(); out.close(); }