乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      求教xmlhttp 跨域訪問(wèn)rss "沒(méi)有權(quán)限"解決 - AJAX問(wèn)必答 - 無(wú)憂(yōu)AJAX...

       kenwang 2007-06-30
      var xmlhttp;
      function readRSS() {
          createXMLHttpRequest();     
          xmlHttp.onreadystatechange = handleStateChange;
          xmlHttp.open("GET", "http://esoft./rss2.xml", true);
          xmlHttp.send(null);
      }

      function createXMLHttpRequest() {
          if (window.ActiveXObject) {
              xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
          }else if (window.XMLHttpRequest) {
              xmlHttp = new XMLHttpRequest();
          }
      }
      function handleStateChange() {
          if(xmlHttp.readyState == 4) {
              if(xmlHttp.status == 200) {
                  window.status=‘?dāng)?shù)據(jù)加載成功!‘;
                  ResultSet();
              }else{
                 alert("HTTP接收信息出錯(cuò):狀態(tài)"+request.status+"具體內(nèi)容"+request.statusText);
        }
      }else{
            forWait();       //進(jìn)度條顯示控制----等待
            window.status=‘?dāng)?shù)據(jù)加載中,請(qǐng)稍候...‘;
      }
      }

      function forWait(){
            waitDiv.innerHTML="<img src=\"images/loading.gif\">";
      }

      function ResultSet() {
          var results = xmlHttp.responseXML;
          var title = null;
          var item = null;
          var link=null;
          //得到channel
           var ccc=results.getElementsByTagName("channel");
           var headtitle=ccc[0].getElementsByTagName("title")[0].firstChild.nodeValue;
           var headlink=ccc[0].getElementsByTagName("link")[0].firstChild.nodeValue;
           var cell = document.createElement("div");
           cell.innerHTML="<h1><a href="+headlink+" target=_blank>"+headtitle+"</a></h1><br>";
           //輸出控制----標(biāo)題
           resultRss.innerHTML="";
           resultRss.appendChild(cell);
           //得到items
           var items = results.getElementsByTagName("item");
           //計(jì)算需要顯示的Rss個(gè)數(shù)     
           if(rssCount>=items.length){
           rssCount = items.length;
           }
           for(var i = 0; i < rssCount; i++) {
              item = items;
              link=item.getElementsByTagName("link")[0].firstChild.nodeValue;
              title = item.getElementsByTagName("title")[0].firstChild.nodeValue;
              var cell = document.createElement("div");
              cell.innerHTML=(i+1)+".<a href="+link+" target=_blank>"+title+"</a><br>";
              //輸出控制----詳細(xì)內(nèi)容
              resultRss.appendChild(cell);
           }
      }


      [ 本帖最后由 guwei0530 于 2007-4-22 21:29 編輯 ]

      頂部
      [廣告]
      hopesoft (琥珀)
      校長(zhǎng)
      Rank: 9Rank: 9Rank: 9


      UID 1
      精華 2
      積分 188
      帖子 223
      閱讀權(quán)限 200
      注冊(cè) 2006-2-17
      來(lái)自 Beijing
      狀態(tài) 離線
      發(fā)表于 2007-4-23 13:04  資料  個(gè)人空間  主頁(yè) 短消息  加為好友  添加 hopesoft 為MSN好友 通過(guò)MSN和 hopesoft 交談
      如果要通過(guò)AJAX訪問(wèn)本站之外的數(shù)據(jù),可做一個(gè)代理頁(yè)把遠(yuǎn)程數(shù)據(jù)抓取到本地,再用ajax讀取。

      可參考首頁(yè)源碼 http://www./bbs/viewthread.php?tid=519





      歡迎光臨無(wú)憂(yōu)AJAX!分享 交流 進(jìn)步!
      頂部
      guwei0530
      小學(xué)生
      Rank: 1



      UID 3119
      精華 0
      積分 0
      帖子 4
      閱讀權(quán)限 10
      注冊(cè) 2007-4-20
      狀態(tài) 離線
      發(fā)表于 2007-4-23 13:30  資料  個(gè)人空間  短消息  加為好友 
      不好意思,校長(zhǎng),忘了說(shuō)我需要在JAVA環(huán)境下處理。
      PHP我不懂??煞裨谥更c(diǎn)一下?

      頂部
      guwei0530
      小學(xué)生
      Rank: 1



      UID 3119
      精華 0
      積分 0
      帖子 4
      閱讀權(quán)限 10
      注冊(cè) 2007-4-20
      狀態(tài) 離線
      發(fā)表于 2007-4-23 15:00  資料  個(gè)人空間  短消息  加為好友 
      經(jīng)過(guò)多番努力,問(wèn)題終于得到解決。感謝校長(zhǎng)的提示。
      在此說(shuō)明解決方法: 同樣類(lèi)似使用代理的意念,在java內(nèi)寫(xiě)一個(gè)servlet來(lái)處理這個(gè)問(wèn)題。
      詳細(xì)處理方式是:1.首先,同樣使用xmlhttp方式處理;
                              2.然后,在進(jìn)行open提交的時(shí)候,不直接提交到對(duì)應(yīng)數(shù)據(jù)源所在的URL地址。而是提交到代理程序,而通過(guò)代理程序打開(kāi)需要讀取的數(shù)據(jù)源URL,同時(shí)處理讀取并返回。
                             3.最后,重新用xmlhttp進(jìn)行解析顯示處理即可以實(shí)現(xiàn)跨域讀取RSS源。
      修改上面的js代碼:
           var PROXY_SERVLET_URL="../../proxyServlet?url=";//對(duì)應(yīng)配置的servlet參數(shù)
           if(url.toLowerCase().indexOf("[url=http://]http://")==-1[/url]){
              readRSS(url);
           }else{
            url = PROXY_SERVLET_URL + url;
              readRSS(url);
           }

      java源代碼如下:
      package action;
      import java.io.IOException;
      import java.io.InputStream;
      import java.io.OutputStream;
      import java.net.URL;
      import java.net.URLConnection;

      import javax.servlet.ServletException;
      import javax.servlet.http.HttpServlet;
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;

      public class ProxyServletUtil extends HttpServlet {
      /**
        *
        */
      private static final long serialVersionUID = 1L;

      private int READ_BUFFER_SIZE = 1024;

      public void doGet(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
          String urlString = request.getParameter("url");
          writeResponse(response, urlString);
          }

      private void writeResponse(HttpServletResponse response, String urlString) throws ServletException{
         try {
          URL url = new URL(urlString);
          URLConnection urlConnection = url.openConnection();
          response.setContentType(urlConnection.getContentType());
          InputStream ins = urlConnection.getInputStream();
          OutputStream outs = response.getOutputStream();
          byte[] buffer = new byte[READ_BUFFER_SIZE];
          int bytesRead = 0;
          while ((bytesRead = ins.read(buffer, 0, READ_BUFFER_SIZE)) != -1) {
           outs.write(buffer, 0, bytesRead);
          }
          System.out.println(outs);
          outs.flush();
          outs.close();
          ins.close();
         } catch (Exception e) {
          try {
           response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
          } catch (IOException ioe) {
           throw new ServletException(ioe);
          }
         }
         }
      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多