3

有没有办法将此字符串转换为jQuery function/object

var str = '';
str=str+"$.ajax({ ";
str=str+"url: 'index.php', ";
str=str+"type: 'post', ";
str=str+"data: 'somevar=' + somevar, ";
str=str+"dataType: 'json', ";
str=str+"success: function(json) { ";
str=str+"alert('test'); ";
str=str+"} ";
str=str+"}); ";

我想得到与...相同的结果

var myFunction = $.ajax({
    url: 'index.php',
    type: 'post',
    data: 'somevar=' + somevar,
    dataType: 'json',
    success: function(json) { 
        alert('test');
    }
});
4

1 回答 1

2

您可以使用 Function 构造函数。

var your_function = new Function(str);

但是你的字符串中有2个错误,你不能放//,因为你会在那之后评论所有内容(你没有新行)并且你有1个多余的右花括号。

编辑:要获取 jquery 对象,您可以执行该函数

var somevar = 'something';
var str = '';
str=str+"return $.ajax({ ";
str=str+"url: 'index.php', ";
str=str+"type: 'post', ";
str=str+"data: 'somevar=' + somevar, ";
str=str+"dataType: 'json', ";
str=str+"success: function(json) { ";
str=str+"} ";
str=str+"}); ";

var ajax = new Function(str)();
于 2013-06-10T06:46:11.567 回答