jQuery:加载脚本,但作为 <pre><code> block ?

标签 jquery ajax

我想加载代码并将其显示在代码标签内(用于语法突出显示等),如下所示:

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

我现在正在 jQuery 中执行此操作:

$.ajax({
  url: "/local/path.js",
  success: function(data) {
    alert("success");
    var code = $("<pre><code>" + data + "</code></pre>");
    $("body").append(code);
  }
})

...哪里"/local/path.js"是一些我们想要作为博客文章的一部分显示但不希望它执行的代码片段:

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

问题是,在alert("success");之前甚至被称为 alert("javascript loaded");叫做。那不应该执行,我只想加载一个原始字符串。也就是说,我不希望 jQuery 对响应进行任何类型的处理。我怎么做?这一切都是在没有任何服务器端语言的情况下完成的。

最佳答案

jQuery 将

... intelligently try to get the results, based on the MIME type of the response (an XML MIME type will yield XML, in 1.4 JSON will yield a JavaScript object, in 1.4 script will execute the script, and anything else will be returned as a string).

(来自 http://api.jquery.com/jQuery.ajax/dataType 部分。另请参阅“Data Types ”)

因此:

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

或者,您应该能够配置服务器以将 /local/ 中的文件作为 text/plain 发送,但这可能不是要走的路。至少,我更喜欢在使用中显式,即在需要的地方指定类型。

关于jQuery:加载脚本,但作为 <pre><code> block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3316981/

相关文章:

java.lang.IllegalArgumentException : "json" does not contain '/'

php - 数据库更新错误数据

javascript - 尝试使用 jQuery.ajax 发送 FormData 时出错

javascript - 即使一切正常,If 语句仍无法正常工作

javascript - 在 ASPX 页面中使用脚本

jquery - 如何在克隆时使用 Jquery 增加输入字段的 id

javascript - Oracle Apex 从 ajax 请求中获取 cookie

javascript - 在innerHTML上设置最小数值

javascript - JQuery:基于列值的表行显示/隐藏

php - yii 使用下拉列表对 CListView 进行排序