逍遥兮容与 2011-08-07 10:45 采纳率: 100%
浏览 541
已采纳

初学DWR不是很懂,页面上显示undefined

[img]http://dl.iteye.com/upload/attachment/531871/57463dbb-5454-3a2c-9819-d4bc1bcf1729.jpg[/img]
页面上显示的是undefined,主要是DWR没学过,还有setAttribute('id','info'+list[i]);appendChild(ele);innerHTML这些用法不是很清楚
到底是哪里出错了,照我的理解应该会显示出我需要的结果的啊,标题加内容
核心代码:
[code="java"]var request;
var minpage;
var maxpage;
var startindex;
var hasnext;

function doSearch(type){
var result=document.getElementById("result");
var pagingdiv=document.getElementById('paging');
result.innerHTML="";
pagingdiv.innerHTML="";

if(type!='paging'){
    var startindexinput=document.getElementById('startindex');
    startindexinput.value="1";
}

request={startindex:1,query:""};
DWRUtil.getValues(request);

searchService.getSearchResults(request,fillPage);

}

function fillPage(data){
var ID=data.id;
var URL=data.url;
var TITLE=data.title;
var CONTENT=data.content;
var resultdiv=document.getElementById('result');
var pagingdiv=document.getElementById('paging');

resultdiv.innerHTML="";
pagingdiv.innerHTML="";

if(ID.length==0){
    resultdiv.innerHTML="<span>sorry, we can't find what you want...</span>";
    return;
}

for(var i=0;i<ID.length;i++){
    var ele=document.createElement('div');
    //ele.setAttribute('id','info'+list[i]);
    ele.setAttribute('id','info');
    ele.innerHTML="<span>loading..</span>";
    resultdiv.appendChild(ele);
    var result=document.getElementById('info');
    //result.innerHTML="<font color=\"#0033CC\">" + data.title + "</font><br /><a href=\"" + data.url + "\">"
    result.innerHTML="<a href=\"" + URL[i] + "\">"
    +"<font color=\"#0033CC\">" + TITLE[i] + "</font></a><br /><font color=\"#008000\">" + CONTENT[i] + "</font><br /><br /><br />";
    //searchService.getSearchResultById(list[i],fillDetailResult);
    resultdiv.appendChild(result);
}[/code]

[code="java"]public SearchResults getSearchResults(SearchRequest request){
SearchResults results=new SearchResults();
Query query=makeQuery(request.getQuery());

    List <String>id=new ArrayList<String>();//id+title+url+content
    List<String>title=new ArrayList<String>();
    List <String>url=new ArrayList<String>();
    List <String>content=new ArrayList<String>();

    try{
        IndexSearcher searcher=new IndexSearcher(INDEX_STORE_PATH);
        Hits hits=searcher.search(query);
        int length=hits.length();
        int startindex=request.getStartindex();
        int endindex;
        if(startindex>length)
        {
            //不可能
        }
        else{
            endindex=startindex+9;
            if(endindex>=length){
                endindex=length;
            }
            for(int i=startindex;i<=endindex;i++){
                Document doc =hits.doc(i-1);
                String pageid=doc.get("pageid");
                String pagetitle=doc.get("title");
                String pageurl=doc.get("url");
                String pagecontent=choose(doc.get("content"),request.getQuery());
                id.add(pageid);
                title.add(pagetitle);
                url.add(pageurl);
                content.add(pagecontent);
            }
        }
        results.setId(id);
        results.setTitle(title);
        results.setUrl(url);
        results.setContent(content);
        int startpage;
        int endpage;
        if(startindex%100==0){
            startpage=(startindex/100-1)*10+1;
        }
        else{
            startpage=(startindex/100)*10+1;
        }
        int span;
        int hasnext;

        float temp=((float)(length-(startpage-1)*10))/10;
        if(temp>10)
        {
            span=9;
            hasnext=1;
        }
        else if(temp==10){
            span=9;
            hasnext=0;
        }
        else{
            hasnext=0;
            if((int)temp<temp){
                span=(int)temp;
            }
            else{
                span=(int)temp-1;
            }
        }
        endpage=startpage+span;

        results.setMinpage(startpage);
        results.setMaxpage(endpage);
        results.setHasnext(hasnext);
        results.setStartindex(startindex);
    }catch(Exception e){
        e.printStackTrace();
    }
    return results;
}[/code]
  • 写回答

10条回答

  • redstarofsleep 2011-08-08 15:11
    关注

    应该是对的undefined是未定义,也就是根本就没有这个属性。
    打印的是空的,才是有这个属性

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示