我想加载代码并将其显示在代码标签内(用于语法突出显示等),如下所示:
<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/