Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2015, 20:56
Интересующийся
Отправить личное сообщение для romm Посмотреть профиль Найти все сообщения от romm
 
Регистрация: 30.09.2012
Сообщений: 26

Варианты сохранения массивов (из js) на сервере?
прямо в html-файле (как) либо в другом файле – как это делается? для последующего использования.
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2015, 23:26
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

можно сохранить в localstorage или через ajax передать на сервер
Ответить с цитированием
  #3 (permalink)  
Старый 14.01.2015, 07:23
Интересующийся
Отправить личное сообщение для romm Посмотреть профиль Найти все сообщения от romm
 
Регистрация: 30.09.2012
Сообщений: 26

а если сохранять в html-странице – она изменяется только на стороне клиента да..
Ответить с цитированием
  #4 (permalink)  
Старый 14.01.2015, 12:39
Новичок на форуме
Отправить личное сообщение для krisdh Посмотреть профиль Найти все сообщения от krisdh
 
Регистрация: 14.01.2015
Сообщений: 4

Всё просто и в то же время сложно
Для того, что бы сохранять массив на сервер нужно знать один из языков программирования BackEnd (php например) и сохранять или в DB (MySQL, MSSQL и т.д.) или в файл писать. Если хранить в localStorage (в приложении "Поиск по AVITO.RU" Именно так хранится часть данных, а часть уходит на мой сервер по средствам $.getJSON) - это будет храниться только у клиента. Вариантов, на самом деле, много. Вопрос только в том - какой больше подходит.
Ответить с цитированием
  #5 (permalink)  
Старый 14.01.2015, 12:41
Новичок на форуме
Отправить личное сообщение для krisdh Посмотреть профиль Найти все сообщения от krisdh
 
Регистрация: 14.01.2015
Сообщений: 4

А так, хранить данные прямо в HTML - плохая идея. Лучше изучи php (это проще всего будет) и сделай, хотя бы примитивную, серверную часть. На хабре есть много готовых примеров применения AJAX'a с готовой серверной частью. Мб и тут есть, я не знаю))))
Ответить с цитированием
  #6 (permalink)  
Старый 16.01.2015, 16:28
Интересующийся
Отправить личное сообщение для romm Посмотреть профиль Найти все сообщения от romm
 
Регистрация: 30.09.2012
Сообщений: 26

да мне для примитивной задачи, не думал что всё сложновато, готовые решения бы найти)
пока думаю сохранять данные вручную редактируя js, хотя через браузер было бы человечней..)
Ответить с цитированием
  #7 (permalink)  
Старый 16.01.2015, 21:02
Интересующийся
Отправить личное сообщение для Noobloid Посмотреть профиль Найти все сообщения от Noobloid
 
Регистрация: 16.01.2015
Сообщений: 23

можно перекинуть как JSON в XML строку через консоль используя парсеры. Строку копировать в xml файл и с xml файла потом загружать назад по необходимость.

http://braincast.nl/samples/jsoneditor/js/xml2json.js перекидывает xml в json

http://goessner.net/download/prj/jsonxml/json2xml.js перекидывает json в xml
В самой проге парсеры работаю просто до ужаса
var newObj= loadXML_To_String("xml/myfile.xml")//создаёт массив или объект


var test = json2xml(someObj); //создаёт отфарматированный под xml streeng 
      console.log(test);//выдаёт её в консоли


либо как советовал caetus, закидывать на localstorage
код с http://stackoverflow.com/questions/2...5-localstorage
var testObject = { 'one': 1, 'two': 2, 'three': 3 };

// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');

console.log('retrievedObject: ', JSON.parse(retrievedObject));

Последний раз редактировалось Noobloid, 16.01.2015 в 22:30.
Ответить с цитированием
  #8 (permalink)  
Старый 17.01.2015, 12:25
Новичок на форуме
Отправить личное сообщение для krisdh Посмотреть профиль Найти все сообщения от krisdh
 
Регистрация: 14.01.2015
Сообщений: 4

Тебе ныжны 3 файла. inpex.php, myfunc.js и myscript.php

Создаёш базу данных MySQL с именем, наприме, mydb, пользователя к ней с логином mylogin и паролем mypassword.
В ней создаешь таблицу mytable с полями id (INT) (auto_increment), input1 (text 256 символов), input2 (text 256 символов), input3 (text 256 символов)

Твой HTML в index.php:

<?
$conf['db_host']					=		"localhost";
$conf['db_login']					=		"mylogin";
$conf['db_password']				=		"mypassword";
$conf['db_name']					=		"mydb";

$sql = mysql_connect($conf['db_host'], $conf['db_login'], $conf['db_password']);
if (!$sql) {
    die('{"error":"Ошибка соединения: ' . mysql_error().'"}');
}
mysql_select_db($conf['db_name'], $sql) or die('{"error":"База данных не отвечает..."}');
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
<script src="http://yastatic.net/jquery/2.1.3/jquery.min.js"></script><!-- Подключаем jQuery -->
<script src="myfunc.js"></script><!-- Подключаем свой скрипт JS -->
</head>

<body>
<input type="text" id="id1" value=""><br>
<input type="text" id="id1" value=""><br>
<input type="text" id="id1" value=""><br>
<a id="knopka">Отправить данные</a>
<div>
<?
$result = mysql_query("SELECT * FROM `mytable`",$sql);
$rows = mysql_num_rows($result);
	if($rows > 0)
	{
		while ($row = mysql_fetch_assoc($result))
		{
		echo'Значение полч input1:'.$row['input1'].', значение полч input2:'.$row['input2'].', значение полч input3:'.$row['input3'].'<br>';	
		}
	}
	else
	{
	echo'База данных пуста';
	}
?>
</div>
</body>
</html>


Содержимое myfunc.js

$('a#knopka').click(function(e) {//Обработка нажатия на <a id="knopka">Отправить данные</a>
  var val1 = $('input#id1').val();//Получаем данные из поля <input type="text" id="id1" value="">
  var val2 = $('input#id2').val();//Получаем данные из поля <input type="text" id="id2" value="">
  var val3 = $('input#id3').val();//Получаем данные из поля <input type="text" id="id3" value="">

$.getJSON( "http://youdomine.com/myscript.php", { var1: val1, var2: val2, var3: val3 } )
	  .done(function( json ) {
		/*Обработка ответа он script.php*/
		alert(json.messange);
	  })
	  .fail(function( jqxhr, textStatus, error ) {
		/*Это обработка ошибки передачи данных, если она случилась*/
		var err = textStatus + ", " + error;
		console.log( "Request Failed: " + err );
	});  
});


Содержимое myscript.php:

<?
/* Здесь мы получем 3 переданных перемера по их именам, а именно $_GET['var1'], $_GET['var2'], $_GET['var3']*/
$conf['db_host']					=		"localhost";
$conf['db_login']					=		"mylogin";
$conf['db_password']				=		"mypassword";
$conf['db_name']					=		"mydb";

$sql = mysql_connect($conf['db_host'], $conf['db_login'], $conf['db_password']);
if (!$sql) {
    die('{"error":"Ошибка соединения: ' . mysql_error().'"}');
}
mysql_select_db($conf['db_name'], $sql) or die('{"error":"База данных не отвечает..."}');

mysql_query("INSERT INTO `mytable`(`input1`,`input2`,`input3`) VALUES ('".$_GET['var1']."','".$_GET['var2']."','".$_GET['var3']."')",$sql);//

echo'{"status":"200","messange":"Данные добавлены в Базу Данных"}';
mysql_close($sql);
?>

Последний раз редактировалось krisdh, 17.01.2015 в 12:33.
Ответить с цитированием
  #9 (permalink)  
Старый 17.01.2015, 14:08
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

http://learn.javascript.ru/intro#%D1...%82-javascript
http://habrahabr.ru/post/148151/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Серверный JavaScript. JS на сервере. Sniper Общие вопросы Javascript 9 08.11.2013 01:31
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Валидация полей формы на JS и сервере alex_89 Events/DOM/Window 9 04.12.2011 00:11
JS <-> Server Js. Severtain Общие вопросы Javascript 1 05.11.2011 15:36
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44