Я пишу приложение для Android 2.3.5 (которое также будет совместимо с iOS). Я хочу передать данные из приложения HTML/Javascript в программу Python на сервере (который использует механизм Twisted для извлечения данных).
Я пробовал много вещей и смотрел различные форумы, ответы, учебники и веб-страницы, включая большинство из них здесь, и не могу найти ответ. Вот соответствующий Javascript, который у меня есть в файле index.html:
<script src="socket-lib/socket.io.js"></script>
<script type="text/javascript" charset="utf-8">
function sendData() {
try {
var socket = io.connect('http://mywebsite.com:12345');
socket.on('connect', function(data) {
socket.send('Hello.');
socket.on('message', function (msg) {
socket.send('This is where I send data?');
});
});
}
catch(err) {
alert('ERROR: socket.io encountered a problem:\n\n' + err);
}
} // end of sendData
Если вы не можете сказать, я все еще довольно смущен, как это работает; Я ничего не могу проверить. Ошибка, которая продолжается, составляет ReferenceError: io is not defined
. Некоторые сайты использовали что-то вроде var io = require('socket.io');
. Но тогда это приводит к той же ошибке: ReferenceError: require is not defined
.
Я помещаю папку socket-lib в активы /www, где должен идти любой другой источник Javascript. Это также файл index.html. Многие сайты используют <script src="/socket.io/socket.io.js"></script>
, но это не имеет для меня никакого смысла. Многие сайты также подразумевают использование node.js, но я никогда его не вижу.
Как я могу сделать эту работу?
Ответные изменения:
Я попробовал его в Chrome, и он дал мне Uncaught ReferenceError: require is not defined
для файла socket.io.js. Поэтому я решаю источник в require.js прямо перед ним. Затем он дает ошибку Uncaught Error: Module name "socket.io-client" has not been loaded yet for context
. Поскольку я не использую это, мне все равно. Однако, когда я пытаюсь подключиться, он дает ту же ошибку io is not defined
. Когда я определяю его как var io = require('socket.io')
, ошибка равна Error: Module name "socket.io" has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded
. Я посмотрел на веб-сайт, и мне это совсем не помогает. Когда я пытаюсь поставить "require" в качестве аргумента функции, возникает другая ошибка: TypeError: undefined is not a function
.