Я только что проверил ваш фрагмент кода на своем носимом эмуляторе Tizen с локальным сервером nodejs.
Моя среда разработки выглядит следующим образом:
- Tizen Studio v3.3 для Windows7
- Tizen v5.0 Носимый эмулятор на Windows7
- сервер nodejs на Ubuntu 16.04.3 LTS
Ниже приведен файл config.xml с правами доступа в Интернет:
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="http://yourdomain/BasicXHR" version="1.0.0" viewmodes="maximized">
<tizen:application id="lvdoC7pmtq.BasicXHR" package="lvdoC7pmtq" required_version="4.0"/>
<content src="index.html"/>
<feature name="http://tizen.org/feature/screen.size.all"/>
<icon src="icon.png"/>
<name>BasicXHR</name>
<tizen:profile name="wearable"/>
<tizen:privilege name="http://tizen.org/privilege/internet"/>
</widget>
Ниже приведен файл index.html, который содержит ваш код и работает на эмуляторе Tizen:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="Tizen Wearable basic template generated by Samsung Wearable Web IDE"/>
<title>Tizen Wearable Web IDE - Tizen Wearable - Tizen Wearable basic Application</title>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<script src="js/main.js"></script>
<script>
function postDataToServer() {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState === 4) {
if (xmlHttp.status === 200) {
console.log("data posted successfully.." + xmlHttp.responseText);
} else {
console.log("Error");
}
}
};
xmlHttp.open("PUT", "http://{My Ubuntu IP Address}:3004/read_watch",true);
console.log('hi');
xmlHttp.send(null);
}
postDataToServer();
</script>
</head>
<body>
<div class=contents>
<div style='margin:auto;'>
<span class=content_text id=textbox>Basic</span>
</div>
</div>
</body>
</html>
Ниже приведен мой фрагмент кода nodejs, который выполняется наСервер Ubuntu:
var http = require('http');
http.createServer(function (req, res) {
if (req.url == '/read_watch') {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write('<html><body><p>got message from Tizen</p></body></html>');
res.end();
}
}).listen(3004);
Следующие журналы на консоли Tizen Wearable Emulator:
file:///index.html (25) :hi
file:///index.html (18) :data posted successfully..<html><body><p>got message from Tizen</p></body></html>
С изменениями все работает нормально, как мы и ожидали. :)
Мне интересно, какую привилегию вы указали в config.xml и есть ли какие-либо проблемы с сетью.