【发布时间】:2017-08-19 23:24:29
【问题描述】:
我正在编写一个 chrome 扩展程序,在我的扩展程序中,我有一个 XMLHttpRequest 从服务器获取 JSON 数据。然后我解析 JSON 数据以查找 URL。
问题是我随后使用从解析的 JSON 数据中获得的 URL 调用 XMLHttpRequest,但由于某种原因,我的 URL 有额外的信息。
下面的错误是我调用 XMLHttpRequest 时得到的:
GET chrome-extension://kppcidkhcjeehdfhcaliekdbgpbkjahg/%22https://b.thumbs.redditmedia.com/BldqCmg1rCqffUDXXYjvO_CQ_58pYIfAGCuHY7dTBIw.jpg%22 net::ERR_FILE_NOT_FOUND
我不明白为什么我的网址中有额外的信息。每当我将包含 URL 字符串的 var 输出到 console.log 时,它都会正确输出:https://b.thumbs.redditmedia.com/BldqCmg1rCqffUDXXYjvO_CQ_58pYIfAGCuHY7dTBIw.jpg
上面的 URL 是我希望 XMLHttpRequest 执行 GET 请求的,但似乎 GET 请求失败,因为它不是正确的 URL。
当我对 URL 进行硬编码时,我的初始 XMLHttpRequest 有效,并且我已经测试了对 URL 的硬编码:https://b.thumbs.redditmedia.com/BldqCmg1rCqffUDXXYjvO_CQ_58pYIfAGCuHY7dTBIw.jpg 这导致我的 XMLHttpRequest 工作正常。
我是否不允许对从远程服务器动态获取的 URL 执行 GET 请求?
【问题讨论】:
-
请edit 成为主题的问题:包括一个重复问题的minimal reproducible example。对于 Chrome 扩展程序或 Firefox WebExtensions,这几乎总是意味着包含您的 manifest.json 和一些背景、内容和/或弹出脚本/HTML。寻求调试帮助的问题(“为什么这段代码没有按我想要的方式工作?”)必须包括:(1)期望的行为,(2)特定的问题或错误以及(3)重现它所需的最短代码在问题本身中。另请参阅:What topics can I ask about here? 和 How to Ask。
-
从错误消息来看,您错误地使用了 chrome.runtime.getURL,它仅适用于扩展的内部文件。不要使用它。首次使用 API 方法之前,请务必查看文档。
标签: javascript google-chrome-extension xmlhttprequest