Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 从Angular.js到Arduino Yùn的REST呼叫未经授权-访问控制允许来源(Wi-Fi)_C_Angularjs_Rest_Arduino_Arduino Yun - Fatal编程技术网

C 从Angular.js到Arduino Yùn的REST呼叫未经授权-访问控制允许来源(Wi-Fi)

C 从Angular.js到Arduino Yùn的REST呼叫未经授权-访问控制允许来源(Wi-Fi),c,angularjs,rest,arduino,arduino-yun,C,Angularjs,Rest,Arduino,Arduino Yun,对于一个学校项目,我正在使用Arduino Yùn模块。但我有一个问题,我在任何地方都找不到解决办法 我正在向Arduino发送HTTP GET请求。Arduino完美地接收到请求,因此打开LED并返回数据的get请求确实会打开LED,但无法正确返回。在我的JavaScript控制台中,我得到一个错误:XMLHttpRequest无法加载http://192.168.0.234/arduino/digital/3/0. 请求的资源上不存在“Access Control Allow Origin”

对于一个学校项目,我正在使用Arduino Yùn模块。但我有一个问题,我在任何地方都找不到解决办法

我正在向Arduino发送HTTP GET请求。Arduino完美地接收到请求,因此打开LED并返回数据的get请求确实会打开LED,但无法正确返回。在我的JavaScript控制台中,我得到一个错误:XMLHttpRequest无法加载http://192.168.0.234/arduino/digital/3/0. 请求的资源上不存在“Access Control Allow Origin”标头。起源'http://localhost:63342因此,不允许访问

这真是令人沮丧,我似乎无法让它工作

当我的计算机连接到Arduino Yùn自己的本地网络时,它应该可以正常工作,但我想将Arduino连接到我的家庭网络,然后发送请求。我缺少“访问控制允许来源”的正确授权

这个问题的解决方案是什么

我已尝试将此添加到Arduino的C代码中:

//headers
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: application/json");
client.println("Access-Control-Allow-Origin: *");
client.println();

// Send feedback to client
client.print(F("Pin D"));
client.print(pin);
client.print(F(" set to "));
client.println(value);
尽管如此,我还是不断得到错误,即使我添加了这个标题

我不知道什么可能是错误的,什么可能是解决办法。我真的希望有人能用他们的知识来启发我

为了完整性,我如何打电话成功永远不会运行:

var req = {
            method: 'GET',
            url: 'http://192.168.0.234/arduino/digital/' + lednr + '/' + status,
            headers: {
                'Content-Type': 'application/javascript'
            }
        };

        $http(req).success(function() {
            alert("GREAT SUCCESS!");
        });
更简单的版本会出现相同的错误:

$http.get("http://192.168.0.234/arduino/digital/" + lednr + "/" + status);

你在使用Chrome吗?你可以尝试使用一个CORS插件来使用Chrome——事实上,我在使用Chrome,但是这个网站可以在任何支持JS的设备上运行——当然,任何浏览器都可以,但我不认为我可以访问Safari for iOS上的JavaScript控制台来检查它是否工作。为什么会在chrome上出现这个错误?还没有尝试其他浏览器。我会检查插件的,谢谢!但我仍然需要它在没有pluginFrom chrome的菜单开放开发工具的情况下在手机上工作。加载页面后应如下所示:。在网络->页面->标题下。@E.V.d.B.你能发布解决方案吗?