0

我有一个 js 脚本,只是获取一个基本的 Json 内容 page.js

{
"desc":"",
**"save":function(){alert(0);}**
}

然后success:function(data)我只是想做data.save() 但是永远不会调用onsuccess?

'完成'虽然但我的保存功能仍然没有被评估?

我尝试将其写为字符串:"save":"function(){alert(0);}" 并将其应用于evalonSuccess ,但奇怪的是它说函数没有名称

这是一个限制 - 我们不能将函数作为 json 响应对象的一部分传递吗?

甚至更少执行它们?还是我只是做错了什么

感谢您的洞察力

4

2 回答 2

1

JSON 是一种纯数据定义语言,因此函数不能是 JSON 对象的一部分。看到这个问题。使用eval()可能会起作用,但我强烈建议您不要使用它,因为它是unsafe。我建议你在一个对象中实现你想要的行为,然后使用你从服务器获得的 JSON 设置这个对象的状态。

于 2012-09-04T15:17:54.423 回答
0

您可以 eval alert(0),它应该可以工作(并将其设置为 JSON 中的“保存”字符串)

但是您应该避免使用 eval 作为解决方法

编辑:这已经在这里得到了回答:在 JSON 结果中定义函数是否有效?

于 2012-09-04T15:16:55.087 回答