Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2014, 13:15
Аспирант
Отправить личное сообщение для ruslite Посмотреть профиль Найти все сообщения от ruslite
 
Регистрация: 01.03.2014
Сообщений: 53

Загрузка файла nodeJS
Всем доброго дня. Есть html код формы
<form class="form-inline" id="messageForm">
				<input id="nameInput" type="hidden" class="input-medium" value="<?php echo $log_username;?>"  />
				<input id="canalInput"  type="hidden" class="input-medium" value="<?php echo $name;?>"  />
				<input id="messageInput" name="aqwed" placeHolder="Ваше сообщение"  />
			<input id="fileInput" type="file"   />
			<input type="submit" value="Send" />
			</form>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<script src="js/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js"></script>
<script src="js/nodeClient.js"></script>


Есть сам nodeServer.js
var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );

var app = express();
var server = http.createServer( app );

var io = socket.listen( server );

io.sockets.on( 'connection', function( client ) {
	console.log( "New client !" );
	
	client.on( 'message', function( data ) {
		console.log( 'Message received ' + data.name + "1" + data.message + data.canal );
		
		//client.broadcast.emit( 'message', { name: data.name, message: data.message } );
		io.sockets.emit( 'message', { name: data.name, message: data.message, canal: data.canal } );
	});
});

server.listen( 8080 );

И nodeClient
var socket = io.connect( 'http://localhost:8080' );
$( "#messageForm" ).submit( function() {
	var nameVal = $( "#nameInput" ).val();
	var msg = $( "#messageInput" ).val();
	var canalVal = $( "#canalInput" ).val();
	if((nameVal) && (msg)){
	// выведет корректную дату
	socket.emit( 'message', { name: nameVal, message: msg, canal: canalVal } )};
	
	// Ajax call for saving datas
	$.ajax({
		url: "./ajax/insertNewMessage.php",
		type: "POST",
		data: { name: nameVal, message: msg, canal: canalVal },
		success: function(data) {
			
		}
	});
	
	return false;
});

socket.on( 'message', function( data ) {
	var actualContent = $( "#messages" ).html();
	var newMsgContent = '<li> <strong>' + data.name + '</strong> : ' + data.message + '</li>';
	var content = newMsgContent + actualContent;
	
	$( "#messages" ).html( content );
});

Помогите пожалуйста реализовать загрузку файла.
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2014, 13:32
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

По клиенту: используй new FormData(this) в качестве data. Не забудь проставить нормальные атрибуты name всем полям формы. Учти, этот способ не работает в старых браузерах (в IE9 вроде тоже не работает).
Альтернативный кроссбраузерный способ - использовать скрытый фрейм. Есть готовые скрипты реализации (например jquery.form.js)
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 01.03.2014, 13:41
Аспирант
Отправить личное сообщение для ruslite Посмотреть профиль Найти все сообщения от ruslite
 
Регистрация: 01.03.2014
Сообщений: 53

danik.js
Сообщение от danik.js Посмотреть сообщение
По клиенту: используй new FormData(this) в качестве data. Не забудь проставить нормальные атрибуты name всем полям формы. Учти, этот способ не работает в старых браузерах (в IE9 вроде тоже не работает).
Альтернативный кроссбраузерный способ - использовать скрытый фрейм. Есть готовые скрипты реализации (например jquery.form.js)
А зачем полям name? И как много людей пользуется IE9 и ниже?
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2014, 14:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ruslite
А зачем полям name?
А зачем тебе имя? Наверное чтоб можно было к тебе обращаться?
Сообщение от ruslite
И как много людей пользуется IE9 и ниже?
Я те че, росстат чтоли?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 01.03.2014, 14:58
Аспирант
Отправить личное сообщение для ruslite Посмотреть профиль Найти все сообщения от ruslite
 
Регистрация: 01.03.2014
Сообщений: 53

Сообщение от danik.js Посмотреть сообщение
А зачем тебе имя? Наверное чтоб можно было к тебе обращаться?

Я те че, росстат чтоли?
я обращаюсь через id
Ответить с цитированием
  #6 (permalink)  
Старый 01.03.2014, 15:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ruslite
я обращаюсь через id
А вот браузер хер ложит на id при отправке формы. Он составляет пары name=value

То же и с FormData
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 02.03.2014, 13:45
Аспирант
Отправить личное сообщение для ruslite Посмотреть профиль Найти все сообщения от ruslite
 
Регистрация: 01.03.2014
Сообщений: 53

Сообщение от danik.js Посмотреть сообщение
А вот браузер хер ложит на id при отправке формы. Он составляет пары name=value

То же и с FormData
спасибо, буду копать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка файла oleg666 jQuery 1 30.06.2011 17:57
Загрузка файла и JavaScript DDestroy Events/DOM/Window 8 04.02.2011 12:28
Не работает корректно загрузка файла в IE rroman Javascript под браузер 0 08.10.2010 19:12
Загрузка файла в массив строк с помощью AJAX malcomoffice AJAX и COMET 2 08.06.2010 18:02
загрузка джаваскрипта file by file с номером ревизии(последней) в урле для файла sergdev Ваши сайты и скрипты 7 13.04.2010 10:52