2017-06-23 118 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