Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过字符串到函数的转换通过AJAX传递JSON_Php_Jquery_Json_Ajax_Function - Fatal编程技术网

Php 如何通过字符串到函数的转换通过AJAX传递JSON

Php 如何通过字符串到函数的转换通过AJAX传递JSON,php,jquery,json,ajax,function,Php,Jquery,Json,Ajax,Function,我有一个dom操作函数,我想通过Ajax调用使用它 我在脚本中有一个本地函数定义为thisremove,我想通过Ajax调用它 var thisRemove = function(){$(this).remove();}; 在本地定义对象是没有问题的 var funcs_map = { "css":["color","#F00"], "fadeTo":[3000,0,thisRemove], }; 如何将上述对象作为JSON发送,或者确定字符串thisRemove是函数并将其

我有一个dom操作函数,我想通过Ajax调用使用它

我在脚本中有一个本地函数定义为
thisremove
,我想通过Ajax调用它

var thisRemove = function(){$(this).remove();};
在本地定义对象是没有问题的

var funcs_map = {
    "css":["color","#F00"],
    "fadeTo":[3000,0,thisRemove],
};
如何将上述对象作为JSON发送,或者确定字符串
thisRemove
是函数并将其转换为函数


编辑:看来JSON无法编码JavaScript函数名(看起来像非引号字符串),所以我需要专注于将字符串转换为函数。我是个白痴,现在我明白了,如果字符串被定义为函数,我只需要将其转换为函数,因此我提出了一个简单的过滤器,它测试字符串是否被定义为窗口范围内的函数,并将该函数作为函数返回

function make_function(string){
    if($.isFunction(window[string])){
        return window[string];
    }
    return string;
}
我可以通过简单地传递所有字符串来使用它

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

echo json_encode($your_data)
?php将如何解释
thisRemove
?关于php
json_encode()
的编辑意味着什么?我觉得你把JSON和JavaScript搞混了。JSON不是一种编程语言,它只是一种数据格式。JSON不能有函数、类、日期或类似的东西,无论您使用什么工具生成它。我刚刚了解到PHP(或者更确切地说是有效的JSON)不能保存看起来像非引号字符串的函数名。它也不能包含变量、指针、注释、循环。。。正如我所说,它不是一种编程语言,它只是一种轻量级的纯文本数据格式。