我有一個寫在客戶端的函數,以字符串的形式發送到服務器,並在那裏執行。 在這個函數裏我使用了客戶端的一些原始的變量。一個例子可以是函數定義中變量的硬編碼值
function (obj){
return obj.number == aNumber;
}
其中aNumber
是在客戶端側的整數變量,而obj
是生活在服務器上的對象。
問題是,在服務器上執行的功能,服務器沒有任何aNumber
變量,所以我想要做的是用他的實際價值取代aNumber
,但我不知道如何要做到這一點,因爲該函數的代碼實際上從未在客戶端上執行過。
有沒有解決方案(可能不涉及解析函數作爲字符串)?
這似乎是一個微不足道的問題,但我根本找不到解決方案。
您正在向執行的服務器發送任意代碼?我會在那裏停下來。看起來像一個可怕的想法。 – deceze
我會使用模板引擎,例如[下劃線](http://underscorejs.org/#template)。 –
@ T.J.Crowder對不起,我錯了,我正確。 deceze:是的,從安全的角度來看這很糟糕,但是對我來說這件事還是沒有。 – user1544128