2013-05-31 3 views
0

При попытке использовать window.FormData я получаю следующее сообщение об ошибке:Машинопись не знает, что FormData является

The name 'FormData' does not exist in the current scope 

То же самое происходит с FileReader

+0

Об этом, как и об авторе (http://typescript.codeplex.com/workitem/720), исправлено. Какая версия TypeScript используется? – raina77ow

+0

Версия 0.8.3.1 – localhost

+1

Странно. Хорошо, что, если вы используете 'FormData' без префикса' window'? – raina77ow

ответ

1

Вы можете проверить функцию существует с помощью:

if (window.FormData) { 
    alert('Yes'); 
} 

Это зависит от ложных проверок - если вы хотите быть явным, используйте.

if (typeof FormData !== 'undefined') { 
    alert('Yes'); 
} 
+0

Проверки Falsey являются плохими для неопределенных, поскольку они вызывают исключение. Попробуйте: http://jsfiddle.net/basarat/2MJ8j/ Явное одно прекрасно :) – basarat

+0

Пример без ложных слов, уже показанный в ответе. – Fenton

+0

Я вижу, что mate, но пример falsey * неправильный * «Неопределенные переменные, например« foo ». Вы получите сообщение об ошибке, если вы получите доступ к неопределенной переменной в любом контексте, отличном от typeof». http://stackoverflow.com/a/2559513/390330 – basarat

Смежные вопросы