[英]Execute JavaScript code from a string
我在服務器端創建了一個javascript代碼,並通過rest請求將其作為字符串傳遞給客戶端。 我正在嘗試執行檢索到的代碼。 任何幫助,將不勝感激。
服務器端。 javascript代碼存儲在字符串中。
(function() {
function createChart(selector) {
$(selector).highcharts({
chart: {
type: 'column',
},
xAxis: {
crosshair: true,
type: "category"
},
yAxis: {
min: 0,
title: {
text: null
}
},
series: [{
data: datas
}],
});
}
function render() {
createChart('#chart');
}
return {
render: render
}
}())
客戶端(角度js)
.controller('ChartController', ['$scope', 'charts',function ($scope, charts) {
var test = charts.data;//contains the javascript code send by a rest request
eval(test);
test.render();
}])
在客戶端執行腳本會在Chrome中返回“ test.render不是函數”
有什么建議嗎?
非常感謝你
采用:
var result = eval(test);
result.render();
因為您的test
是字符串。 eval(test)
的result
是一個函數。
始終不建議使用eval
。 但是,如果您確實需要它,請改用angular $eval
:
如果您想自己eval()Angular表達式,請使用$ eval()方法。
您應該像這樣使用eval函數:
var functionToEval = "functionName";
console.log(eval(functionToEval));
有關eval函數的更多信息,請訪問以下頁面: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.