HTML 的第一行中的意外标记 <
Unexpected token < in first line of HTML
我有一个 HTML 文件 :
<!DOCTYPE HTML>
<html lang="en-US" ng-app="Todo">
<head>
<meta charset="UTF-8">
<title>DemoAPI</title>
<meta name="viewport">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
<link rel="stylesheet" href="./Client/css/styling.css" />
<script type="text/javascript" src="core.js"></script>
</head>
错误说:
Uncaught SyntaxError: Unexpected token < core.js: 1
它显示 app.html
的 <!doctype html>
处的错误。
core.js
看起来像这样:
angular.module('Todo', [])
.controller('mainController', function($scope, $http)
{
$scope.formData = {};
// get all and show them
$http.get('/musicians')
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
//get with an id
$scope.getOneTodo = function() {
$http.get('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
// send the text to the node API
$scope.createTodo = function() {
$http.post('/musicians', $scope.formData)
.success(function(data) {
$scope.formData = {}; // clear the form
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
})
};
// delete
$scope.deleteTodo = function(id) {
$http.delete('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
/*
$scope.updateTodo = function(id) {
$http.delete('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};*/
});
它也给了我Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=Todo&p1=Error%3A%2…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)
此外,在控制台中,当我单击 core.js
时,它会显示 app.html
的内容并将其命名为 core.js
.
这是快照:
此外,如图所示,当我点击index.html
时,它显示app.html
。但是,我没有任何名为 index.html
的文件,我默认加载 app.html
而不是 index.html
.
我试过 adding/removing type="text/javascript"
但也没有帮助。
此外,core.js
的获取请求返回状态 200。
可能出了什么问题?
您的页面在 /Client/public/core.js
引用了一个 Javascript 文件。
可能无法找到此文件,而是生成网站首页或 HTML 错误页面。对于例如,这是一个非常普遍的问题。 Apache 服务器上的网站 运行,其中路径默认重定向到 index.php
。
如果是这种情况,请确保将脚本标记 <script type="text/javascript" src="/Client/public/core.js"></script>
中的 /Client/public/core.js
替换为正确的文件路径,或者将丢失的文件 core.js
放在位置 /Client/public/
修复您的错误!
如果您已经在 /Client/public/
找到名为 core.js
的文件,但浏览器仍然生成 HTML 页面,请检查文件夹和文件的权限。其中任何一个都可能缺少适当的权限。
检查你的编码,我有一次因为 BOM 的原因得到了类似的东西。
确保 core.js 文件编码为 utf-8 无 BOM
好吧...我在互联网上颠倒了三遍,但没有找到任何可能对我有帮助的东西,因为它是一个 Drupal 项目,而不是人们描述的其他场景。
我的问题是项目中有人添加了一个js,他的地址是:<script src="http://base_url/?p4sxbt"></script>
并且是这样附加的:
drupal_add_js('',
array('scope' => 'footer', 'weight' => 5)
);
希望这对以后的人有所帮助。
我们前段时间遇到了同样的问题,一个网站突然开始出现这个错误。原因是 js include 临时用 # 注释(即 src="#./js...")。
在我的例子中,我得到这个错误是因为一行
<script src="#"></script>
Chrome 试图将当前 HTML 文件解释为 javascript。
对我来说,这是脚本路径无法加载的情况 - 我错误地链接了它。检查您的脚本文件 - 即使没有报告路径错误 - 实际加载。
我在 ASP.NET 应用程序中遇到了这个问题,特别是 Web 窗体。
我在 Global.asax 中强制重定向,但我忘记检查请求是否针对 css、javascript 等资源等。我只需要添加以下检查:
VB.NET
If Not Response.IsRequestBeingRedirected _
And Not Request.Url.AbsoluteUri.Contains(".WebResource") _
And Not Request.Url.AbsoluteUri.Contains(".css") _
And Not Request.Url.AbsoluteUri.Contains(".js") _
And Not Request.Url.AbsoluteUri.Contains("images/") _
And Not Request.Url.AbsoluteUri.Contains("favicon") Then
Response.Redirect("~/change-password.aspx")
End If
我强制将长时间未更改密码的登录用户重定向到 change-password.aspx 页面。我相信有更好的方法来检查这一点,但就目前而言,这是有效的。如果我找到更好的解决方案,我会编辑我的答案。
我遇到了同样的问题。我在 iis 上发布了 angular/core 应用程序。
更改应用程序池的标识解决了我的问题。现在身份是 LocalSystem
我在使用 WordPress 网站时遇到了这个错误,但我看到我的开发人员工具源中显示了两个索引。
Chrome Developer Tool Error
所以我想到,如果有两个索引从第一行代码开始,那么就会有一个复制,并且它们会相互冲突。所以我想那也许是我的缓存插件工具 HTML 缩小了。
所以我关闭了 HTML 缩小设置并删除了我的缓存。噗!成功了!
如果周围有人和我一样有这个问题。尝试将这行代码添加到您的 header.
<base href="/" />
它会将您的 html 文件与您正在设置的 Nodejs 上的静态目录对齐。
我也遇到了同样的问题。
在我的情况下,当我更改脚本属性 src
以更正路径时,错误得到修复。
<script src="correct path"> </script>
我通过删除 link
标签的斜杠 /
解决了我的问题。
<link rel="manifest" type="application/manifest+json" href="https://kal.my.id/manifest.webmanifest" title="YakaLee">
我看到你的了
<link rel="stylesheet" href="./Client/css/styling.css" />
尝试像这样删除斜线:
<link rel="stylesheet" href="./Client/css/styling.css">
我有一个 HTML 文件 :
<!DOCTYPE HTML>
<html lang="en-US" ng-app="Todo">
<head>
<meta charset="UTF-8">
<title>DemoAPI</title>
<meta name="viewport">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
<link rel="stylesheet" href="./Client/css/styling.css" />
<script type="text/javascript" src="core.js"></script>
</head>
错误说:
Uncaught SyntaxError: Unexpected token < core.js: 1
它显示 app.html
的 <!doctype html>
处的错误。
core.js
看起来像这样:
angular.module('Todo', [])
.controller('mainController', function($scope, $http)
{
$scope.formData = {};
// get all and show them
$http.get('/musicians')
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
//get with an id
$scope.getOneTodo = function() {
$http.get('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
// send the text to the node API
$scope.createTodo = function() {
$http.post('/musicians', $scope.formData)
.success(function(data) {
$scope.formData = {}; // clear the form
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
})
};
// delete
$scope.deleteTodo = function(id) {
$http.delete('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
/*
$scope.updateTodo = function(id) {
$http.delete('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};*/
});
它也给了我Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=Todo&p1=Error%3A%2…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)
此外,在控制台中,当我单击 core.js
时,它会显示 app.html
的内容并将其命名为 core.js
.
这是快照:
此外,如图所示,当我点击index.html
时,它显示app.html
。但是,我没有任何名为 index.html
的文件,我默认加载 app.html
而不是 index.html
.
我试过 adding/removing type="text/javascript"
但也没有帮助。
此外,core.js
的获取请求返回状态 200。
可能出了什么问题?
您的页面在 /Client/public/core.js
引用了一个 Javascript 文件。
可能无法找到此文件,而是生成网站首页或 HTML 错误页面。对于例如,这是一个非常普遍的问题。 Apache 服务器上的网站 运行,其中路径默认重定向到 index.php
。
如果是这种情况,请确保将脚本标记 <script type="text/javascript" src="/Client/public/core.js"></script>
中的 /Client/public/core.js
替换为正确的文件路径,或者将丢失的文件 core.js
放在位置 /Client/public/
修复您的错误!
如果您已经在 /Client/public/
找到名为 core.js
的文件,但浏览器仍然生成 HTML 页面,请检查文件夹和文件的权限。其中任何一个都可能缺少适当的权限。
检查你的编码,我有一次因为 BOM 的原因得到了类似的东西。
确保 core.js 文件编码为 utf-8 无 BOM
好吧...我在互联网上颠倒了三遍,但没有找到任何可能对我有帮助的东西,因为它是一个 Drupal 项目,而不是人们描述的其他场景。
我的问题是项目中有人添加了一个js,他的地址是:<script src="http://base_url/?p4sxbt"></script>
并且是这样附加的:
drupal_add_js('',
array('scope' => 'footer', 'weight' => 5)
);
希望这对以后的人有所帮助。
我们前段时间遇到了同样的问题,一个网站突然开始出现这个错误。原因是 js include 临时用 # 注释(即 src="#./js...")。
在我的例子中,我得到这个错误是因为一行
<script src="#"></script>
Chrome 试图将当前 HTML 文件解释为 javascript。
对我来说,这是脚本路径无法加载的情况 - 我错误地链接了它。检查您的脚本文件 - 即使没有报告路径错误 - 实际加载。
我在 ASP.NET 应用程序中遇到了这个问题,特别是 Web 窗体。
我在 Global.asax 中强制重定向,但我忘记检查请求是否针对 css、javascript 等资源等。我只需要添加以下检查:
VB.NET
If Not Response.IsRequestBeingRedirected _
And Not Request.Url.AbsoluteUri.Contains(".WebResource") _
And Not Request.Url.AbsoluteUri.Contains(".css") _
And Not Request.Url.AbsoluteUri.Contains(".js") _
And Not Request.Url.AbsoluteUri.Contains("images/") _
And Not Request.Url.AbsoluteUri.Contains("favicon") Then
Response.Redirect("~/change-password.aspx")
End If
我强制将长时间未更改密码的登录用户重定向到 change-password.aspx 页面。我相信有更好的方法来检查这一点,但就目前而言,这是有效的。如果我找到更好的解决方案,我会编辑我的答案。
我遇到了同样的问题。我在 iis 上发布了 angular/core 应用程序。
更改应用程序池的标识解决了我的问题。现在身份是 LocalSystem
我在使用 WordPress 网站时遇到了这个错误,但我看到我的开发人员工具源中显示了两个索引。
Chrome Developer Tool Error 所以我想到,如果有两个索引从第一行代码开始,那么就会有一个复制,并且它们会相互冲突。所以我想那也许是我的缓存插件工具 HTML 缩小了。
所以我关闭了 HTML 缩小设置并删除了我的缓存。噗!成功了!
如果周围有人和我一样有这个问题。尝试将这行代码添加到您的 header.
<base href="/" />
它会将您的 html 文件与您正在设置的 Nodejs 上的静态目录对齐。
我也遇到了同样的问题。
在我的情况下,当我更改脚本属性 src
以更正路径时,错误得到修复。
<script src="correct path"> </script>
我通过删除 link
标签的斜杠 /
解决了我的问题。
<link rel="manifest" type="application/manifest+json" href="https://kal.my.id/manifest.webmanifest" title="YakaLee">
我看到你的了
<link rel="stylesheet" href="./Client/css/styling.css" />
尝试像这样删除斜线:
<link rel="stylesheet" href="./Client/css/styling.css">