我想从arcgis js api 里边取到的数据作为参数传到后台去。但是后台取到的值是${NAME}。但是在浏览器里边可以解析成他的值。请高手帮帮忙,怎么能在js中取到${NAME}的值并传到后台函数。ps:js与后台通信是用的dwr, Hello.hello()调的是后台函数。 var queryTask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/3");        //build query filter
        var query = new esri.tasks.Query();
        query.returnGeometry = true;
        query.outFields = ["NAME", "POP2000", "POP2007", "POP00_SQMI", "POP07_SQMI"];
        query.where = "STATE_NAME = 'South Carolina'";
        query.outSpatialReference = {"wkid":102100};
 //var userName = document.getElementById("userName").value;
    
        var infoTemplate = new esri.InfoTemplate();
       
       
   
   
  
    Hello.hello("${NAME}",function(data)    {
    
   infoTemplate.setTitle("${NAME}");
     //infoTemplate.setTitle(strTest);
    var content=''; var user='';
    for(var i=0;i<data.
    length;i++){
     
     user = data[i];
    content =content+ "<b>返回的值大小现在为: </b>"+(i+1)+"<br/>"
                             + "<b>返回的第一个值: </b>"+namea[0]+"<br/>"
                             + "<b>返回的第二个值: </b>"+realName+"<br/>"
                             + "<b>返回的第三个值: </b>"+strTest+"yy<br/>"
                             + "<b>返回的第四个值: </b>"+(strTest=="Colleton")+"<br/>"
                             
                     
    }
    
    infoTemplate.setContent("<b>返回的值大小共有: </b>"+data.length+"<br/>"+content);       
     // var name=infoTemplate.getTitle();
                              }jsarcgisjquery${}js与后台通信

解决方案 »

  1.   

    什么叫“浏览器里边可以解析成他的值”?你这个貌似是模板里面的替换标记,你把这个变量用在脚本里不会解析。应该找它的原始变量啊。我估计是这样:
     Hello.hello(infoTemplate.toJson()[NAME],function(data) 
      

  2.   

    window.NAME = '${NAME}';取到了
      

  3.   

    不行啊,地图都出不来  所以说${name}也是JSON转换后的一种数据表示格式,如果这样这个原始变量怎么求啊?
      

  4.   


    不行啊,地图都出不来  所以说${name}也是JSON转换后的一种数据表示格式,如果这样这个原始变量怎么求啊?