Javascript 使用jQuery AJAX时转义脚本标记
我正试图通过以下方式来转义通过AJAX加载的内容的脚本标记:Javascript 使用jQuery AJAX时转义脚本标记,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正试图通过以下方式来转义通过AJAX加载的内容的脚本标记: $.ajax({ cache: false, type: 'GET', url: 'index.html', success: function(response) { $(response).find('<script').replaceWith('\x3Cscript'); $(response).find('</script>').replace
$.ajax({
cache: false,
type: 'GET',
url: 'index.html',
success: function(response) {
$(response).find('<script').replaceWith('\x3Cscript');
$(response).find('</script>').replaceWith('\x3C/script>');
$.ajax({
cache:false,
键入:“GET”,
url:'index.html',
成功:功能(响应){
$(响应)。查找(“”);
但是,它给出了一个错误,即令牌是非法的
如何解决这个问题?您应该用正斜杠转义
/
,就像HTML5样板中的这个片段:
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.1.min.js"><\/script>')</script>
window.jQuery | | document.write(“”)
像这样:
$(response).find('<script').replaceWith(function(){return '<script';});
$(response).find('</script>').replaceWith(function(){return '<\/script>';});
$(响应).find(“将整个页面加载到容器中可以使用.load()
,即
$('#iFrame').load('index.html', function() {
// page loaded into container
$('#iFrameLoading').fadeOut(function() {
$('#iFrame').fadeIn();
});
});
仍在获取错误:Uncaught SyntaxError:意外令牌非法
@Cameron哪一行抛出了错误?您能够在小提琴中重现此错误吗?第二行$(响应)。查找(“”)。替换为(“”);
您可以在此处看到错误:replacewith
需要一个DOM对象或函数。我相信更新上面的代码以包含函数可能会解决您的错误。如果运气不好,也会出现相同的错误:(我需要脚本标记!我将其写入iFrame请参见演示:但脚本标记需要先转义。@Cameron您不能只使用$('#iFrame').load('index.html');
?