在Chrome扩展程序中通过AJAX访问192.168.xx

发布于 2024-11-28 00:22:08 字数 737 浏览 0 评论 0原文

基本上,我有一个像这样的 AJAX 请求:

$.ajax({ url:     "http://192.168.0.100/",
         success: function(x) { console.log(x); }
       });

在扩展的 manifest.json 中定义了以下权限数组:

"permissions": [
    "notifications",
    "tabs",
    "*.*",
    "192.168.0.100",
    "192.168.0.100/*",
]

192.168.0.100 的请求失败,并出现以下错误:

XMLHttpRequest cannot load http://192.168.0.100/.
Origin chrome-extension://<hash> is not allowed by Access-Control-Allow-Origin.

我已经做的就是在 index.php 中附加此标头:

Header("Access-Control-Allow-Origin: *");

但没有效果。

如何才能使对本地 IP 的 AJAX 请求在 Chrome 扩展程序中正常工作?

Basically, I have an AJAX request like this:

$.ajax({ url:     "http://192.168.0.100/",
         success: function(x) { console.log(x); }
       });

with the following permissions array defined in manifest.json of the extension:

"permissions": [
    "notifications",
    "tabs",
    "*.*",
    "192.168.0.100",
    "192.168.0.100/*",
]

A request to 192.168.0.100 fails with the following error:

XMLHttpRequest cannot load http://192.168.0.100/.
Origin chrome-extension://<hash> is not allowed by Access-Control-Allow-Origin.

What I already did is appending this header in index.php:

Header("Access-Control-Allow-Origin: *");

but to no avail.

What can I do to make AJAX requests to local IPs work in a Chrome extension?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左秋 2024-12-05 00:22:08

尝试使用 "http://192.168.0.100/*" 而不是 "192.168.0.100/*"。需要指定方案,请参阅匹配模式以供参考。

Try using "http://192.168.0.100/*" instead of "192.168.0.100/*". The scheme needs to be specified, see Match Patterns for reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文