http://localhost/undefined 404(未找到)

Posted

技术标签:

【中文标题】http://localhost/undefined 404(未找到)【英文标题】:http://localhost/undefined 404 (Not Found) 【发布时间】:2015-12-04 16:56:29 【问题描述】:

我的问题描述不清楚。让我再试一次。

注意。这是我的生产、暂存和开发站点(不仅仅是评论者似乎认为的我的开发站点)的常见问题。

注意。使用 Chrome 而不是 Firefox 会出现此问题。

问题出现在站点主页:http://www.example.com(或附加“/index.php”)。页面加载成功,但 Chrome 的开发者工具的控制台面板显示 404 错误。消息内容为“GET http://www.example/undefined 404(未找到)”。它总是显示错误发生在“(索引):1”这是 DOCTYPE 行。无论是什么产生了问题,都不是这样。

页面加载正常,我只是在开发者工具控制台中收到这条奇怪的消息。 (我可能在最初的问题描述中并不清楚。)Firfox 的控制台没有显示此类错误。

我想追踪导致此错误的原因。特别是,我想找到 Chrome 获取“未定义”网址的位置。我的猜测(但只是猜测)是我的许多 javascript 文件之一是从未定义的变量生成 URL。 Chrome 的问题位置“(index):1”是错误的。我将不胜感激有关如何从 Chrome 中获取更有用的错误消息的任何想法:找到 URL 的文件的名称会有所帮助。如果我可以做到这一点,而无需在我的所有 Javascript 文件中一一设置断点,那将特别好。 :-)

删除了 URL 的原始问题(我被允许的信誉

我们有相当复杂的 Drupal 网站。进入首页时, Chrome(版本 45.0.2454.85 m)控制台向我显示错误:“[URL 已删除] 404(未找到)(索引):1“。(我正在使用开发站点 在我的本地计算机上,因为缩小在那里关闭。) 好吧,我想,我知道该怎么做:去找违规的人 在任何文件中发现,抓挠我的头几次,得到一个辉煌 想法,解决问题。一个小困难:问题是 肯定 不会 发生在索引第 1 行(我认为这是 “(索引):1”表示)。错误消息中的“未定义”暗示但 不能证明罪犯是我们十几个人中的一个 JavaScript 文件。大概某处的某个变量是未定义的。 那么如何让 Chrome 找出攻击的位置 发生?它没有给我任何未定义值的 JavaScript 错误, 只是 [URL 已删除]/undefined 上的 404 。提前感谢任何 想法。

编辑:我忘了补充说 Firefox 没有显示这样的错误。

【问题讨论】:

我不确定我是否理解您的所有问题,但是您是否为本地站点创建了虚拟主机? 我做到了,但我又回到直接使用桌面操作系统(Windows 7)。如果这有助于诊断问题,我可以回到虚拟机。请注意,我在生产和登台时也遇到了这个问题;他们都生活在 CentOS 专用主机上。唯一的区别是错误消息中的主机名发生了变化。 我建议你在 Windows 操作系统中使用 wamp 或 xampp,尽量减少所有环境之间的差异,它可以防止那些配置类问题 我在没有任何服务器配置(没有 PHP)的情况下遇到同样的问题,只是在单个页面渲染视图中使用 react 客户端,奇怪的是它与我的一个元素上的单个属性有关,如果它为空;它会抛出这样的错误。 【参考方案1】:

我发现了这个问题可能来自哪里。

    确保所有生成的 CSS(样式)设置背景图像等,其中有 url() 实际指向某处;如果它没有指向任何地方,则错误将设置为 .html DOCTYPE。 检查图片标签的src;确保它们没有被 JavaScript 设置为 undefined。 还要检查脚本文件的 src,即使这种情况很少发生。

所以是的,它实际上并没有指出实际错误在哪里,但实际上必须使用它无法找到的查找资源,这很糟糕;我们可能甚至不希望它搜索。例如。当元素不可见并且我们不设置任何图像时;但我们仍然传递 undefined 它会搜索 undefined 并且它不会给你任何提示错误在树的哪一部分。

由于您的页面太复杂而无法知道它在哪里,或者这甚至是您面临的问题;这是我能说的最多的;我发现它太快的唯一原因是反应开发工具立即告诉我我的渲染属性以及组件非常小的事实。

【讨论】:

【参考方案2】:

查找导致此问题的原因的另一种方法(当您有合适大小的解决方案时)是检查是否有任何未定义分配给任何 html 属性/样式。我们可以通过右键单击body标签来检查这一点,递归展开,复制HTML,粘贴它并搜索undefined。

如果有未定义分配给 href/src/url 等,它可能会给你一个错误的线索。

这可以通过不将 undefined 分配给这些属性来解决。

【讨论】:

这对我有帮助。非常感谢。好久没找到解决办法 非常感谢。在找到您的答案之前,我花了一天的大部分时间挠头,结果证明这是正确的。无论element.style.background = 的内容是什么,Chrome都会发送一个GET请求,即使它是空的。【参考方案3】:

React Redux 动态图像位置无法正确加载图像,

我收到了错误

Error: http://localhost/undefined 404 (Not Found)

所以我尝试了下面的代码它的工作


 user.id &&
 <img className="img-responsive" src=`$API_URL/$imageLocation` />

所以当它渲染新数据imagelocation api url后获取动态数据时。

【讨论】:

【参考方案4】:

很多时候,创建一个包含此内容的 .htaccess 文件是固定的:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_FILENAME !-f
    RewriteRule ^ index.php [L]
</IfModule>

【讨论】:

【参考方案5】:

我在Angular 图像未定义中遇到了同样的错误。通过使用*ngIf 问题已得到修复。

<div *ngIf="imageUrl"  [style.backgroundImage]="'url('+ imageUrl +')'" >"

【讨论】:

以上是关于http://localhost/undefined 404(未找到)的主要内容,如果未能解决你的问题,请参考以下文章