グローバルな方法で定義されたオブジェクトを取得しました。
window.myobj = {};
次に、新しい要素が追加され、最後に関数ごとに ajax を介してデータベースに保存されSaveData(obj)
ます。問題は、短期間に何度も作成していることです。関数に渡されているのは1つのオブジェクトへのポインターのみであるように見えるため、別のイベントが発生すると、保存関数内で変更されます。外に変更しました。PHPでは、それを使用する必要があり&$obj
ます...では、関数に渡されるobjが単なるポインターではないように、適切に行うにはどうすればよいですか?
編集:問題はここに現れました:
そう言いましょうevent = {time:123,type:blah}
function SaveData(event){
obj = jQuery.extend({}, event); // doesn't seem to replicate event
$.post('save',obj,function(res){
if(res) console.log(obj);
});
if(obj.type == 'blah'){
newobj = jQuery.extend({}, obj);
newobj.type = 'newtype';
newobj.time = 234;
SaveData(newobj);
}else if(obj.type == 'newtype'){
newobj = jQuery.extend({}, obj);
newobj.type = 'lasttype';
newobj.time = 345;
SaveData(newobj);
}
}
これは、同じ 3 つのオブジェクトを返します。
{time:345,type:lasttype}