日期:2014-05-16  浏览次数:20461 次

function 返回值问题
    function nodeInfo(nodeName){
     var showhtml=null;
     $.ajax({
     type:"POST",
     contentType:"application/json",
     url:"/SZGW_WEB/NodeInfoServlet?nodeName="+nodeName+"&action="+"name",
     dataType:'json',
     error:function(result){
     alert("lianjieshibai");
     },
     success:function(result){
     var obj=result;
     for(var i=0;i<obj.length;i++){
     //var nodeName=obj[i].nodeName;
     if(nodeName){
     var value=obj[i].value;
     var time=obj[i].time;
     var tname=obj[i].tname;
     var units=obj[i].units;
     var opendegree=obj[i].opendegree;
     var name=obj[i].name;
     var tubulationName=obj[i].tubulationName;
     var status=obj[i].status;
     var type=obj[i].type;
      showhtml=showhtml+"节点名称:"+nodeName+"  "+"所属管段:"+tubulationName+"<hr/>";
     if(status==str1){
     if(type=="监测"){
          showhtml=showhtml+time+"<br/>" + "设备名:" +name  + "<br/>"+tname+":"+value+units +"<br/>"+"<br/>";

     }else if(type="控制"){
     showhtml=showhtml+"<p align=center>控制"+name+"</p>"+"<label>当前开度:</label>"+"<span id='opendeep'>"+opendegree+"%</span>"+"<input type='button' value='全开' onclick=\"allOpen('"+name+"')\">"+"<input type='button' value='关闭' onclick=\"allclose('"+name+"')\">"+"<br/>"
                           +"<label>调整至</label>"+"<input type='text' id='degree' size='2' name='cdegree'>"+"%"+"<input type='button' value='执行' name='submit' onclick=\"execute('"+name+"')\">"+"<br/>"+"<br/>";
     }
     }else if(status==str2){
     showhtml=showhtml+"设备"+name+"已失效"+"<br/>"+"<br/>";
     }
     }
     }
     }
    
     });
     alert(showhtml);
     return showhtml;
    
    }
   返回的空值,alert 显示为null,该怎么解决
------最佳解决方案--------------------
设置成同步请求

或者在回调函数中处理
------其他解决方案--------------------
使用全局变量,能解决你的问题
------其他解决方案--------------------
$.ajax里面的执行没有问题,在内部测试showhtml是有值得
------其他解决方案--------------------
引用:
设置成同步请求

或者在回调函数中处理


如果我在success中加一个返回值,在$.ajax的外面该如何获取返回值