我正在尝试构建一个基于 Web 的代码编辑器,并将 javascript 加载到 textarea 值中,我很偶然地发现该页面正在评估代码。var url = 'local.js';var timestamp = new Date().getUTCMilliseconds();$.get(url, {r:timestamp}, function(data) { $("#scriptview").val(data); $("#editor").slideDown();}); 如何防止 GET 请求评估代码?我直接从本地文件获取源代码。更新:更改代码以添加数据类型解决了这个问题。我无法正确获得 $.get 语法糖,所以我正在使用 $.ajaxvar url = 'local.js';var timestamp = new Date().getUTCMilliseconds();$.ajax({url:url, data: {r:timestamp}, success: function(data) { $("#scriptview").val(data); $("#editor").slideDown(); return false;}, dataType: "text"});我仍然不明白为什么要执行被调用文件中的代码,我没有在脚本标签或任何内容中附加到正文。
1 回答

繁花不似锦
TA贡献1851条经验 获得超4个赞
jQuery.ajax
接受一个dataType
参数。明确设置它会:
设置
Accept
标题忽略
Content-Type
响应并将数据解析为您所说的格式。
如果你不设置它,那么 jQuery 会从Content-Type
响应中推断出数据类型。这通常是一件好事!
在这种情况下,您正在请求 JavaScript(将带有Content-Type: text/javascript
响应标头),但不希望将其视为 JavaScript。jQuery 确实支持"script"
作为数据类型!
将dataType
(to "text"
) 设置为覆盖默认处理。
添加回答
举报
0/150
提交
取消