2013-04-29 2 views
1

У меня проблема с javascript. Я делаю загрузку на основе AJAX и имею массив всех загруженных файлов. Если сайт перезагружен, я хочу восстановить все файлы в массиве.Новый файл() - операция небезопасна

я так:

var file = new File({the url to the file on my server}); 

И я получаю:

SecurityError: The operation is insecure. 

Я использую такое же происхождение, и на моем локальном сервере: mylocal:? 88/init.php страница = загрузка

var file = new File('http://mylocal:88/init.php?file=12345'); 

Дает мне эту ошибку. Порт, протокол и домен одинаковы.

Почему и как создать новый файл без получения этой ошибки?

+0

Должен ли он быть 'https'? – starbeamrainbowlabs

+0

Это не https, я просто удалил протокол в сообщении, потому что это не ссылка. – 2013-04-29 09:26:27

+0

Я имел в виду, что соединение с вашим сервером должно быть 'https', чтобы предотвратить« SecurityError »? – starbeamrainbowlabs

ответ

1

Насколько я знаю, Javascript работает на клиентских компьютерах, они не могут позволить клиенту создавать файлы на сервере, иначе взломать серверы было бы очень легко. Объект FILE создает файл только на стороне клиента.

EG: var file = new File("myfile.txt"); 

file.open("write,create", "text"); 
file.writeln("The quick brown fox jumped over the lazy dogs"); 
file.close(); 

Однако вы можете попробовать JQuery:

$.get('/init.php?file=12345', function(data) {//This function run when the request is completed. 
     alert(data); 
     console.log(data); 
}); 
+1

О, спасибо! Никогда не думал об этом. Ofc это только локальные файлы. – 2013-04-29 09:32:59

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