jQuery: загрузить скрипт, но как блок <pre><code>? - PullRequest
1 голос
/ 23 июля 2010

Я хочу загрузить код и отобразить его внутри тегов кода (для подсветки синтаксиса и т. Д.) Следующим образом:

<pre><code>alert("javascript loaded");

Я делаю это в jQuery прямо сейчас:

$.ajax({
  url: "/local/path.js",
  success: function(data) {
    alert("success");
    var code = $("<pre><code>" + data + "
"); . $ ( "Тело") добавить (код); } })

... где "/local/path.js" - это фрагмент кода, который мы хотим показать как часть сообщения в блоге, но не хотим, чтобы он выполнялся:

# /local/path.js (or /local/path.programming-language-ext)
alert("javascript loaded");

Проблема в том, что до того, как alert("success"); будет вызван, alert("javascript loaded"); будет вызван. Это не должно выполняться, я хочу загрузить только необработанную строку. То есть я не хочу, чтобы jQuery выполнял какую-либо обработку ответа. Как я могу это сделать? Все это делается без какого-либо серверного языка.

Ответы [ 2 ]

3 голосов
/ 23 июля 2010

jQuery будет

... разумно пытаться получить результаты, основываясь на типе ответа MIME (тип XML MIME даст XML, в 1.4 JSON даст объект JavaScript,в 1.4 скрипт выполнит скрипт , а все остальное будет возвращено в виде строки).

(из http://api.jquery.com/jQuery.ajax/, section dataType. Также см." Типы данных ")

Следовательно:

$.ajax({
  url: "/local/path.js",
  ...
  dataType: 'text'
});

Кроме того, вы можете настроить сервер для отправки файлов в /local/ какtext/plain но это, вероятно, не путь.По крайней мере, я предпочитаю явно использовать , т. Е. Указывать тип, где он мне нужен.

0 голосов
/ 23 июля 2010

Почему-то по какой-то причине jQuery выполняет ответ ...

кажется странным, вы пробовали просто строку в code переменной? ...

var code = "<pre><code>" + data + "
"; $ (" body "). Append (code);

возможно попробуйте добавить dataType

$.ajax({
  url: "/local/path.js",
  dataType: 'text',
  success: function(data) {
    alert("success");
    var code = $("<pre><code>" + data + "
");. $ ( "Тело") добавить (код);}})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...