Неожиданный токен
у меня есть 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
он показывает ошибку в <!doctype html>
на app.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
.
я попытался добавить / удалить type="text/javascript"
но с этим тоже не поможет.
кроме того, статус 200 возвращается по запросу get для core.js
.
что может быть не так?
7 ответов
ваша страница ссылается на файл Javascript в /Client/public/core.js
.
этот файл, вероятно, не может быть найден, создавая либо frontpage веб-сайта или страницу ошибок HTML вместо этого. Это довольно распространенная проблема, например. веб-сайты, работающие на сервере Apache, где пути перенаправляются по умолчанию в index.php
.
если это так, убедитесь, что вы замените /Client/public/core.js
в тег <script type="text/javascript" src="/Client/public/core.js"></script>
С правильным путем к файлу или поместите отсутствующий файл core.js
на месте /Client/public/
исправить твоя ошибка!
если вы уже нашли файл с именем core.js
at /Client/public/
и браузер по-прежнему создает HTML-страницу вместо этого, проверьте разрешения для папки и файла. У любого из них могут отсутствовать соответствующие разрешения.
Проверьте кодировку, я получил что-то подобное один раз из-за спецификации.
убедитесь, что ядро.файл 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 приложение, в частности веб-формы.
я заставлял перенаправление в глобальные.асакс, но я забыл проверить, был ли запрос для таких ресурсов, как 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
я заставлял зарегистрированных пользователей, которые долгое время не меняли свои пароли, перенаправляться на изменение пароля.аспн страница. Я поверьте, есть лучший способ проверить это, но пока это сработало. Если я найду лучшее решение, я отредактирую свой ответ.