Ajax實現跨服務器,跨域名調取數據 有點相似httpclient

   有時候在製做網站的時候,可能要跨域調取數據,好比在在兩個服務器兩個數據庫的兩個用戶表中的數據,都要求能夠登錄同一個網站,這個時候咱們可能需須要用ajax跨服務器調取數據javascript

   首先可能須要咱們先了解一下ajax,我最先接觸ajax其實就是在註冊時候作動態驗證,當時我就很奇怪,Htm頁面怎麼還能無刷新驗證用戶名,手機號碼,身份證號等是否存在(小白了我....)後來在實際作項目的時候,本身也使用到了簡單的ajax,好比咱們有一個Htm的首頁index.htm可是,首頁中的新聞須要是動態更新的,因此這個時候咱們就須要使用ajax來實如今靜態頁面中動態更新新聞內容的效果,其實這個相似於在靜態頁中引用了一個iframe,每次有人訪問的時候,iframe裏邊的jsp都會發生動態變化html

   下邊有個例子:java

<div class="maple">
      Loding...
 </div>
	<script type="text/javascript">
			jQuery.post("ajax.jsp",{"flag":"index_gsxw_maple"},function(data){
				jQuery(".maple").html(data);
			});
	</script>

上邊的這個例子是說,剛開始class名爲maple的這個層裏放的是一個Loding(就是在打開頁面到數據加載之間出現的),而後咱們調用jQuery中的方法,向ajax.jsp發送一個請求,其實就是相似提交了一個表單,表單裏邊有個字段叫flag,他的值是index_gsxw_maple,固然,這個能夠無所謂,若是你的ajax.jsp中只處理一個邏輯的話,想當於咱們訪問了ajax

http://xxx.xxx.com/ajax.jsp?flag=index_gsxw_maple數據庫

而後,咱們在ajax.jsp中把新聞經過數據庫調取出來,而後帶有必定格式的打印出來(out.print),下邊咱們就須要把ajax.jsp中的數據原樣顯示出來了?顯示到哪呢?jQuery(".imaple").html(data);data就是ajax.jsp返回的東西跨域

   以上爲一個簡單的ajax的應用,實際過程當中,咱們極可能傳遞好多參數服務器

   好比我接下來要說的跨站訪問用戶名密碼,首先咱們須要有一個頁面,這個頁面中咱們作以下處理:jsp

   訪問這個頁面的時候,咱們須要傳遞兩個參數,用戶名(user_name)密碼(passw),咱們獲得這兩個參數以後,在當前頁面數據庫中進行相應的查找,若是用戶名密碼正確,咱們返回1,若是錯誤,咱們返回-1,這樣的話咱們就能夠在別的網站登陸的時候,驗證該頁面所在網站的用戶名和密碼了post

   這個過程須要用到jQuery封裝的一個方法網站

  

jQuery.getJSON("http://www.xxx.com/yanzheng.jsp?user_name="+a+"&passw="+b+"&callback=?",function(data){
							var obj = data;
							if(obj.status!=-1){
								  alert('登陸成功');
								  
							}else{
								  alert('登陸失敗,請檢查用戶名密碼');
								
							}
						});

這個咱們會在yanzheng.jsp這個頁面返回一個錯誤,固然正確的就返回1了

out.print("({ status:'-1'})");

相關文章
相關標籤/搜索