2017-06-23 41 views
-1

我有这个JavaScript,一旦AJAX过程执行,我想把这个变量替换为其他变量。替换JavaScript变量没有ID或类

window.onload = function() { 
    oldvariable = []; 
    var chart = new Chart("Container2", { 
    data: [{ 
     type: "column", 
     dataPoints: oldvariable 
    }] 
    }); 
} 

当我处理AJAX请求并获取存储在旧变量中的JSON数据时,它不会被写入,所以我没有几个选项。我尝试了他们在HTML中工作的广告,但没有在脚本标记下。

如果我可以定义oldvariable='<div class="second"></div>';和使用处理后的JSON数据,然后它工作,并给予在HTML,但在javascript正确的输出<标签是不允许的变量,所以我们不能确定oldvariable这样的替换此。

$("div.second").replaceWith(''+newvariable +''); 

所以有反正我可以替换JavaScript变量作为HTML标记不允许在变量和无标记JavaScript无法取代。

我有一个更可能的solution.regex。在整个HTML代码中搜索旧变量并用newvariable替换,但该过程将非常缓慢,因此最好的方法是什么。

我的衍生产品是全局定义的,AJAX请求位于外部文件中,上面的代码嵌入HTML中。

========编辑

我们如何能够在上面的JavaScript与newvariable取代oldvariable

====== AJAX代码 - 变量名是不同

$(document).ready(function() { 
    (function() { 
     $('#upload-form2').ajaxForm({ 
      dataType: 'json', 
      success: function(data) { 
       var oldvariable = '', 
        downlo; 
       for (var i = 0; i < data.length; i++) { 
        downlo = data[i]; 
        oldvariable += '' + downlo.ndchart + ''; 
       } 
       $('#chek').html(oldvariable); 
       } 
     }) 
    })(); 
    }); 
+1

我有很多的麻烦工作你正在问什么这里... – Clonkex

+3

你的问题不清楚。什么是“这个变量”指的是? –

+0

哪里是ajax代码?请详细说明这个问题。 – Riyaz

回答

1

您需要更新chart datapointsre-render ajax成功后的图表如下

ajax:

... 

    success:function(response) 
    { 
     chart.options.data[0].dataPoints=response; 

     //response is (array) of dataSeries 

     chart.render(); 
    } 

    ....... 

更新1:按照您的代码数据应该像更新此

..... 
success:function(data) { 

      var new_data = []; 
      for (var i = 0; i < data.length; i++) 
      { 
       new_data.push({y:data[i].ndchart }); 
      } 

      chart.options.data[0].dataPoints=new_data; 
      chart.render(); 
     } 
    ..... 

更新2

 $(document).ready(function() { 
    (function() { 
     $('#upload-form2').ajaxForm({ 
      dataType: 'json', 
      success: function(data) { 

        var new_data = []; 
        for (var i = 0; i < data.length; i++) 
        { 
         new_data.push({y:data[i].ndchart }); 
        } 

        chart.options.data[0].dataPoints=new_data; 
        chart.render(); 

       } 
     }) 
    })(); 
    }); 
+0

获取错误compress-jpeg:748 Uncaught语法错误:意外的令牌( – swetlana

+0

可以显示行号748 @swetlana – JYoThI

+0

我已经在html页面中嵌入了您的成功代码。这里是完整的代码https://pastebin.com/APtDnaeF – swetlana