我有一个对象,例如:
var object = { name: "lalala", alert: function(){ alert(this.name)} }
我希望将它作为JSON发送到我的服务器(nodejs + express),但是我得到了这个解析器错误,我怎么能这样做?
JSON示例:
{ "name": "lalala", "alert": "function"(){ "alert"("this.name") } }
答案 0 :(得分:0)
你所拥有的不是有效的JSON对象。你不能在JSON中有一个函数。您正在使用JavaScript对象。查看JSON spec以了解对JSON有效的内容。
如果确实希望将该数据传递到您的服务器,则必须将该值转换为字符串,然后在稍后阶段将其转换为eval( shudder )找回基础功能。
答案 1 :(得分:0)
这种完全奇怪且不适合做JSON的方式
你在JSON对象中没有函数,
这就是为什么你有解析器错误 ...
答案 2 :(得分:0)
不要这样做。在json中发送警报的值,然后在另一端收到值时运行alert函数。
var object = { name: "lalala", alert: "lalala"}
alert(object.alert);
编辑:事实上你只需要
var object = { name: "lalala"}
收到回复时:
alert(object.name);
答案 3 :(得分:0)
您可以使用以下技巧。
var c = { "s" : "sss", "alert" : "alert(c.s)"}
eval(c.alert);
您将收到提醒。然而,它不会像以下那样飞行:
eval("function(){alert(c.s);}")