0

基本的なJsonコンテンツpage.jsを取得するだけのjsスクリプトがあります

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

次に、success:function(data)単にやりたかったのですdata.save() が、onsuccess が呼び出されませんか?

「完了」はしますが、それでも私の保存機能は評価されませんか?

文字列として書いてみました :"save":"function(){alert(0);}" そしてそれを onSuccess に適用しましたevalが、奇妙なことに、関数には名前がありません

これは制限ですか? json 応答オブジェクトの一部として関数を渡すことはできませんか?

さらにそれらを実行しますか?それとも私は単に何か間違ったことをしていますか

洞察をありがとう

4

2 に答える 2

1

JSON は純粋なデータ定義言語であるため、関数を JSON オブジェクトの一部にすることはできません。この質問を参照してください。を使用するとうまくいくかもしれませんが、安全eval()ではないため、使用しないことを強くお勧めします。オブジェクトに必要な動作を実装し、サーバーから取得した JSON を使用してこのオブジェクトの状態を設定することをお勧めします。

于 2012-09-04T15:17:54.423 に答える
0

eval だけalert(0)で動作するはずです(これをJSONの「保存」文字列として設定します)

ただし、回避策として eval を使用することは避けるべきです

編集:これはすでにここで回答されています: JSON結果で関数を定義することは有効ですか?

于 2012-09-04T15:16:55.087 に答える