未捕获的SyntaxError:意外的令牌<在http:// localhost:25194 /的第1行

时间:2014-02-05 20:34:40

标签: javascript backbone.js marionette

在Backbone.Marionette Web应用程序中,我将视图资源从一个视图复制到另一个视图,并且当Web应用程序加载时我收到了意外的令牌错误。视图定义与下面的内容类似,我只是将其中一个视图定义从此页面移动到另一个定义页面(Marionette.Layout)

define([
  'app',
  'lib/underscore',
  'lib/backbone',
  'lib/backbone.marionette',
  'lib/Backbone.ModalDialog',
  'lib/alertify',
  'text!modules/header/templates/mytemplate.html',
  'modules/header/views/another',   
  'modules/header/views/andanother'],
function(App, _, Backbone, Marionette, btm, alertify, template, AnotherView, AndAnotherView) {
  var MyView = Marionette.CompositeView.extend({
   ...

之前我将这种类型的错误追踪到错误的路线;修复路线解决了问题,但这似乎不是问题。那里的错误是因为框架试图将JSON渲染到模板中,但是得到了一个html格式的错误消息而不是数据。

通知来自全局错误处理程序中的alertify;你没有在处理程序中获得堆栈跟踪,请参阅此讨论: When will proper stack traces be provided on window.onError function?

我可以逐步解决错误(深入到框架回调),但在错误触发之前,一切似乎都很好,甚至是即将呈现的内容。

1 个答案:

答案 0 :(得分:4)

当我看到"意外的令牌<"时,我的第一直觉是检查服务器错误日志。我有一个项目,其中该错误意味着服务器从错误页面而不是预期的JSON返回HTML。