国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
求教xmlhttp 跨域訪問(wèn)rss "沒(méi)有權(quán)限"解決 - AJAX問(wèn)必答 - 無(wú)憂AJAX...
var xmlhttp;
function readRSS() {
    createXMLHttpRequest();     
    xmlHttp.onreadystatechange = handleStateChange;
    xmlHttp.open("GET", "http://esoft.bokee.com/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)



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è) 短消息  加為好友 
 
如果要通過(guò)AJAX訪問(wèn)本站之外的數(shù)據(jù),可做一個(gè)代理頁(yè)把遠(yuǎn)程數(shù)據(jù)抓取到本地,再用ajax讀取。

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





歡迎光臨無(wú)憂AJAX!分享 交流 進(jìn)步!
guwei0530
小學(xué)生




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我不懂。可否在指點(diǎn)一下?

guwei0530
小學(xué)生




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ō)明解決方法: 同樣類似使用代理的意念,在java內(nèi)寫一個(gè)servlet來(lái)處理這個(gè)問(wèn)題。
詳細(xì)處理方式是:1.首先,同樣使用xmlhttp方式處理;
                        2.然后,在進(jìn)行open提交的時(shí)候,不直接提交到對(duì)應(yīng)數(shù)據(jù)源所在的URL地址。而是提交到代理程序,而通過(guò)代理程序打開需要讀取的數(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);
    }
   }
   }
}

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
智能表格
Ajax三種實(shí)現(xiàn)方法與AJAX解析JSON
Ajax+jsp用戶登陸例子
c#.net下簡(jiǎn)單的Ajax例子
javascript-ajax-json-java-servlet互相傳值取值
Web-第十五天 Ajax學(xué)習(xí)【悟空教程】
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服