我有一个js脚本只是获得一个基本的Json内容page.js
{
"desc":"",
**"save":function(){alert(0);}**
}
然后在success:function(data)
我只想做data.save()
但 onsuccess永远不会被调用?
'完成'但是我的保存功能仍未评估?
我尝试将其写为字符串:"save":"function(){alert(0);}"
并将其应用于eval
onSuccess,但奇怪的是它说函数没有名称
这是一个限制 - 我们不能将函数作为json响应对象的一部分传递吗?
更少执行它们? 或者我只是做错了什么
感谢您的见解
答案 0 :(得分:1)
JSON是一种纯数据定义语言,因此函数不能是JSON对象的一部分。见this question。使用eval()
可能会有效,但我强烈建议您不要使用它,因为它是unsafe。我建议您在对象中实现所需的行为,然后使用从服务器获得的JSON设置此对象的状态。
答案 1 :(得分:0)
您可以只评估alert(0)
,它应该可以工作(并将其设置为JSON中的“保存”字符串)
但是你应该避免使用eval作为解决方法
编辑:这已在此处得到解答:Is it valid to define functions in JSON results?