发布请求可在网络模拟器上运行,但不能在应用程序上运行

时间:2019-04-24 17:44:36

标签: rest post web-applications tizen tizen-wearable-sdk

我正在为三星Gear s3制作一个简单的应用程序,当我在网络模拟器上启动我的应用程序时,我尝试使用javascript发送发帖请求,该请求工作正常,但是当我在设备上启动该应用程序时,该请求不起作用/ p>

我在config.xml中添加了Internet特权

    <script type="text/javascript">
     function send(){
        console.log("1");
        var data = "<m2m:>";

        var xhr = new XMLHttpRequest();
        xhr.withCredentials = true;

        xhr.addEventListener("readystatechange", function () {
          if (this.readyState === 4) {
            console.log(this.responseText);
          }
        });

        xhr.open("POST", "http://127.0.0.1:8081/~/in-cse/in-name/MY_SENSOR/DATA");
        xhr.setRequestHeader("X-M2M-Origin", "admin:admin");
        xhr.setRequestHeader("Content-Type", "application/xml;ty=4");
        xhr.setRequestHeader("cache-control", "no-cache");

        xhr.send(data);
        console.log("end");
    }
    </script>

为得到结果,我的服务器需要在他的身边添加m2m,但这没什么关系,因为它可以处理邮递员

我认为cors政策存在问题,您知道我该如何解决吗?

感谢您的时间

1 个答案:

答案 0 :(得分:1)

我对此主题进行了一些研究,在我看来,您需要在应用程序的config.xml中添加访问域。 Guide表示添加:

<access origin="http://127.0.0.1:8081/~/in-cse/in-name/MY_SENSOR/DATA" subdomains="true"/>

应该可以解决这个问题。您还可以找到more information about CORS on Tizen