亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

Ajax跨域實現代碼(后臺jsp)

2024-09-01 08:33:50
字體:
來源:轉載
供稿:網友

AJAX 教程

AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。

在應用時主要是創建XMLHttpRequest對象,調用指定服務地址。

但是IE中各個版本支持的不太一樣,所以在創建次對象時可能要特殊處理下。

一般如下:

function createXMLHttpRequest(){ var xmlhttp; try{  xmlhttp = new XMLHttpRequest();//ie7及以上,其他瀏覽器 }catch(e){  try{   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");//ie6  }catch(e){   try{    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");//ie6以下   }catch(e){    throw "創建AJAX對象失敗!";   }  } } return xmlhttp; } var xmlhttp = createXMLHttpRequest();  xmlhttp.open("GET","http://localhost:8080/SimpleBlog/AjaxTest",true);  xmlhttp.send(null);  xmlhttp.onreadystatechange = function(result){  if(xmlhttp.readyState==4 && xmlhttp.status == 200){   alter(result.test);  } };

但是瀏覽器再執行javascript代碼時,有個著名的同源策略,這使得跨域請求就不是那么方便了。

那一般都是用什么方式支持跨域呢?

1、通過中間代理服務器,獲取要跨域請求的數據。

2、通過iframe內嵌帶請求域的頁面,來解決跨域訪問問題。

3、通過jsonp方式。

4、不過現在已經提出了XMLHttpRequest Level2(XHR2)允許跨域請求,不過要在server的返回頭中顯示聲明允許跨域請求(瀏覽器的支持情況:http://caniuse.com/#feat=xhr2)。

下面簡單說下jsonp與xtr2。

jsonp:

jsonp簡單的說就是利用<script>標簽來實現跨域請求的調用,因為瀏覽器中腳本的加載是不受同源策略影響的。

function get() {  var url = 'http://localhost:8080/SimpleBlog/AjaxTest?callback=callback';  var script = document.createElement('script');   script.setAttribute("type","text/javascript");   script.src = url;   document.body.appendChild(script);  }  function callback(va){  alert(va.test); }

服務端(java):

 boolean jsonP = false; String cb = this.request.getParameter("callback"); if (cb != null) { jsonP = true; response.setContentType("text/javascript"); } else {  response.setContentType("application/x-json"); } PrintWriter out = response.getWriter(); if (jsonP) {  try {   out.println(cb + "({/"test/":/"1/"})");   out.flush();   out.close();  } catch (Exception e) {   throw e;  } }

這樣就可以實現跨域調用了。

而我們經常用的jquery已經實現了此類方式的封裝,使用起來更簡單。

$(document).ready(function (){  $('#jqueryajax').bind('click', function(){  $.ajax({   type: 'get',   async: false,   url: 'http://localhost:8080/SimpleBlog/AjaxTest1',   dataType: 'jsonp',   jsonp: 'callback',   success: function(json){    alert(json.result);   },   error: function(){    alert('fail');   }  });  }); });

服務端(java):
我用了struts是這樣寫的:

public class AjaxTest1 extends ActionSupport { private String result; public String getResult() {  return result; }  public String execute() {   this.result = "1";  return "jqueryajax"; }}

配置文件:

<action name="AjaxTest1" class="AjaxTest1"> <result name="jqueryajax" type="json">  <param name="callbackParameter">callback</param> </result> </action>

下面說說xtr2:

這個就更簡單了,直接創建調用即可。

function createCORSRequest(method,url){  var xhr=new XMLHttpRequest();  if('withCredentials' in xhr){  xhr.open(method,url,true);  }else if(typeof XDomainRequest!='undefined'){   xhr=new XDomainRequest();    xhr.open(method,url);  }else{   xhr=null;  }  return xhr; }  function xhr2(){  var request=createCORSRequest('GET','http://localhost:8080/SimpleBlog/AjaxTest1');  if(request){  request.onload=function(){   alert(request.responseText);  }  request.onerror=function(e){   alert('error');  }  request.send();  }  }

服務端:其實只要在返回response中設置
httpResponse.addHeader("Access-Control-Allow-Origin", "*");
即可。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费一在线| 国产成人福利视频| 欧美精品在线网站| 欧美在线中文字幕| 欧美性猛交xxxx免费看漫画| 中文字幕精品—区二区| 国产精品青草久久久久福利99| 欧美放荡办公室videos4k| 97视频在线观看视频免费视频| 国产成+人+综合+亚洲欧美丁香花| 国产亚洲精品一区二区| www.美女亚洲精品| 亚洲国产黄色片| 欧美视频免费在线观看| 91美女高潮出水| 精品夜色国产国偷在线| 8x海外华人永久免费日韩内陆视频| 91视频国产一区| 2019中文字幕在线免费观看| 伊人男人综合视频网| 久久精品一区中文字幕| 国产精品久久久久久久久久ktv| 亚洲午夜小视频| 久久人人爽人人爽人人片av高清| 亚洲精品理论电影| 久久99精品久久久久久青青91| 在线日韩av观看| 欧美日韩国产色视频| 一本大道久久加勒比香蕉| 亚洲欧美日韩国产中文| 亚洲少妇中文在线| 欧美一区视频在线| 亚洲成人免费网站| 亚洲国产精品成人va在线观看| 日韩精品一区二区三区第95| 国产精品美女免费| 国产精品av免费在线观看| 九九热r在线视频精品| 欧美视频裸体精品| 亚洲成av人片在线观看香蕉| 久久久国产在线视频| 亚洲成人aaa| 日韩精品高清在线| 久久这里有精品| 国产一区二区三区在线播放免费观看| 国产成人精品999| 国产欧美日韩视频| 国产精品黄色影片导航在线观看| 日本国产精品视频| 欧美日韩国产色| 亚洲欧洲第一视频| 国产精品自产拍在线观看中文| 亚洲视频在线观看免费| 俺也去精品视频在线观看| 日韩精品极品视频免费观看| 国产精品日韩久久久久| 亚洲伊人一本大道中文字幕| 成人黄色在线观看| 97国产成人精品视频| 欧美激情日韩图片| 欧美丰满少妇xxxxx| 亚洲午夜久久久久久久| 亚洲精品成人av| 久久精品国产69国产精品亚洲| 国产精品视频999| 久久在线免费观看视频| 国产精品中文字幕在线| 亚洲国产精品久久久久久| 亚洲激情 国产| 国产精品www色诱视频| 日韩免费观看视频| 高清在线视频日韩欧美| 精品magnet| 欧美在线激情网| 亚洲精品福利免费在线观看| 国产精品免费网站| 57pao成人永久免费视频| 亚洲精品综合精品自拍| 伊人久久免费视频| 亚洲精品xxxx| 亚洲最新视频在线| 日韩中文视频免费在线观看| 国产精品视频久| 日韩美女免费线视频| 久久久久国产精品一区| 欧美成人精品一区二区| 亚洲国产成人精品久久| 国产精品美女久久久久久免费| 91在线视频成人| 久久精品国产清自在天天线| 不用播放器成人网| 国产视频亚洲视频| 国产精品视频久久久久| 国产亚洲精品久久久久久牛牛| 亚洲欧美国产制服动漫| 日韩av一区二区在线| 欧美网站在线观看| 成人av电影天堂| 日本高清久久天堂| 欧美国产激情18| 欧美极品少妇xxxxx| 一区二区中文字幕| 国产精彩精品视频| 久久av在线看| 久久国产色av| 欧美日韩亚洲视频一区| 精品成人国产在线观看男人呻吟| 国产精品专区h在线观看| 久久av资源网站| 欧美精品免费看| 2021久久精品国产99国产精品| 欧美日韩人人澡狠狠躁视频| 黄色成人av在线| 日韩在线观看免费全| 欧美巨大黑人极品精男| 亚洲国产天堂网精品网站| 国产精品高清网站| 国产一区玩具在线观看| 伊人av综合网| 亚洲免费视频观看| 久久人人爽人人| 亚洲一区二区三区成人在线视频精品| 亚洲国产精品视频在线观看| 91精品国产综合久久香蕉| 日韩av日韩在线观看| 欧美成人在线免费视频| 日韩欧美亚洲一二三区| 日韩电影在线观看中文字幕| 亚洲第一区中文99精品| 国产自摸综合网| 成人国内精品久久久久一区| 欧美日韩国产区| 国产亚洲精品美女久久久| 在线视频欧美日韩| 国产日本欧美一区二区三区| 成人在线国产精品| 国产精品欧美激情| 国产精品视频xxx| 欧美劲爆第一页| 亚洲va电影大全| 俺去啦;欧美日韩| 亚洲一级一级97网| 成人在线观看视频网站| 亚洲精品aⅴ中文字幕乱码| 国产xxx69麻豆国语对白| 久久精品色欧美aⅴ一区二区| 成人黄色在线免费| 欧美日韩国产123| 欧美日韩国产一区中文午夜| 欧美日韩成人免费| 日韩av在线不卡| 亚洲网站在线播放| 国产欧美日韩丝袜精品一区| 91中文字幕在线| 91在线色戒在线| 久久久久久国产精品三级玉女聊斋| 日韩欧美中文字幕在线观看| 色婷婷综合成人| 亚洲欧美成人网| 91影院在线免费观看视频| 国产中文欧美精品| 精品香蕉一区二区三区| 亚洲永久在线观看| 97久久超碰福利国产精品…|