Показать сообщение отдельно
  #1 (permalink)  
Старый 15.05.2013, 11:48
Новичок на форуме
Отправить личное сообщение для lamo4ok Посмотреть профиль Найти все сообщения от lamo4ok
 
Регистрация: 15.05.2013
Сообщений: 3

proxy() и изменение переданного в контекст объекта
function GetRusMaterial(d) {
	var d1 = {id:0,rus:""};
	$.post("/bin/cms/api.php",{action: "GetRusmaterial", param1:d}, $.proxy(function(data){
		var d2 = eval('(' + data + ')');
		this.id = d2.id;
		this.rus = d2.rus;
		alert(this.id);
	},d1));
	alert(d1.id);
	return d1;
};


Вот такой вот код не выдает никаких ошибок, однако как только мы выходим за пределы функции, в которой мы пытаемся изменить объект, переданный как контекст в нашу callback-функцию, оказывается, что данный объект изменен не был. Другими словами, первый alert выдает одно значение, а второй alert опять сообщает, что d1.id равно 0.
Ответить с цитированием