2014-12-31 4 views
0

Я извлечение файла CSS с использованием $ .getscript, как показано ниже:нагрузки CSS файл в текстовое поле

$.getScript(url, function (data, textStatus, jqxhr) { 
      alert(data); // Data returned 
      console.log(textStatus); // Success 
      console.log(jqxhr.status); // 200 
      console.log("Load was performed."); 
     }); 

Моего требования хранить данные в текстовом поле. Но я получаю ошибку как неожиданный токен. Как это достичь?

+2

вы можете оставить что отслеживающий? –

+0

Простой: CSS! == JavaScript; поэтому getScript бесполезен – epascarello

+0

@epascarello, тогда как я могу загрузить css в textarea? – manu

ответ

1

Изменение кода ..

$.getScript(url, function (data, textStatus, jqxhr) { 
    alert(data); // Data returned 
    console.log(textStatus); // Success 
    console.log(jqxhr.status); // 200 
    console.log("Load was performed."); 
    $('textarea').val(data) // <---------- ADD DATA TO TEXTAREA 
}); 

ПООЧЕРЕДНОГО,

Вы можете сделать это с помощью функции .load().

$("textarea").load("path/to/myCss.css", function() { 
    alert("Load was performed."); 
}); 

Вы не имеют использовать $.getScript().

Рабочий фрагмент кода:

$("textarea").load("http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/black-tie/jquery-ui.css", function() { 
 
    alert("Load was performed."); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<textarea></textarea>

Держите его просто. :)

+0

Он выдает ошибку. Отсутствует заголовок «Access-Control-Allow-Origin» на запрошенном ресурсе. – manu

+0

Ну, это означает, что это другой домен, и JavaScript не может получить доступ к другому домену. – epascarello

+0

Я тоже попробовал свой альтернативный ответ. Возвращенные данные не определены, хотя ответ является успешным. – manu

0

вы должны включать в себя данные сценария

$.getScript(url, function (data, textStatus, jqxhr) { 
      alert(data); // Data returned 
      console.log(textStatus); // Success 
      console.log(jqxhr.status); // 200 
      console.log("Load was performed."); 
     }); 
+0

Извините, я не понял – manu

0

Моя идея по этому вопросу будет следующее:

$.get("your css file to load.css", function(data) { 
    $("your textarea selector").val(data); 
}); 

Ваш код не работает, потому что getScript будет автоматически считать данные, чтобы быть script/javascript, и поэтому загрузит его как таковой. С другой стороны, использование get будет загружать данные по мере необходимости, и вы просто устанавливаете с ним значение textarea.

Кроме того, если вы хотите управлять случаями, в которых файл не загружается, вместо использования jqxhr.status вы также можете полагаться на встроенный обработчик jQuery AJAX, например: done (status 200), fail (ошибка 404, 500 и т. Д.), Всегда (любой статус, независимо от того, загружен ли файл успешно или нет). Кроме того, функция, определенная по умолчанию после того, как путь к файлу в «get» похож на обработчик «done».

Приветствия,

1

попробуйте использовать .load(), чтобы получить его done.Make уверены, что ваш путь к файлу является правильным.

$("textarea").load("http://cdn.rawgit.com/buberdds/angular-bootstrap-colorpicker/master/css/colorpicker.css", function() { 
 
\t \t alert("file loaded in textarea"); 
 
\t \t });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea id="myTable" border="1" cols="40" rows="50"></textarea>

+0

Ваш пример не работает, поскольку в текстовом поле не появляется никаких данных. – cram2208

+0

@ cram2208 теперь check.that был образцом, который я не дал точного пути в файл. –

+0

Кажется, что он работает очень хорошо, никогда не знал, что это сработает, я буду помнить об этом. ^^ – cram2208