2016-09-21 29 views
-1

我有,我想通過Ajax調用如何傳遞JSON在AJAX用字符串函數轉換

我有一個本地函數在腳本定義爲thisremove使用DOM操作功能,我會希望通過Ajax

var thisRemove = function(){$(this).remove();}; 

本地調用定義對象的工作不會有問題

var funcs_map = { 
    "css":["color","#F00"], 
    "fadeTo":[3000,0,thisRemove], 
}; 

我不是如何發送上述目的JSON或確定THA字符串thisRemove是一個函數並將其轉換爲函數?

編輯:看來JSON不能編碼JavaScript函數名稱(它看起來像非引號字符串),所以我需要專注於將字符串轉換爲函數。

+0

'echo json_encode($ your_data)'? –

+0

'thisRemove'如何被php解釋? –

+0

關於PHP'json_encode()'的編輯是什麼意思?我有一個印象,就是你把JSON和JavaScript混淆了。 JSON不是一種編程語言,它只是一種數據格式。 JSON不能有函數,類或日期或類似的東西 - 不管你用什麼工具來生成它。 –

回答

-1

我是個白癡,我看到現在的我真的只需要如果它定義爲一個功能,所以我想出了這個簡單的過濾器進行測試以看到一個字符串轉換爲一個功能,如果被定義爲窗口作用域中的函數並將該函數作爲函數返回。

function make_function(string){ 
    if($.isFunction(window[string])){ 
     return window[string]; 
    } 
    return string; 
} 

我可以通過簡單地傳遞所有字符串來使用它。

$.each(arg,function(i,v){ 
    arg[i] = make_function(arg[i]); 
}); 
+0

小心評論downvote? –