2016-09-21 31 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? –