Javascript.RU

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

Передать значение переменной из js в php
Доброго времени суток! Недавно понадобилось передать значение переменной из js в php, решил использовать ajax:
$(document).ready(function () {
	ymaps.ready(function () {
		var geolocation = ymaps.geolocation;
		var region = geolocation.region; 
                // console.log(city);
		$.ajax({
			url: "product_default.php",
			type: "POST",
			data: {region:region}
		});
	});
});


Вот только дебаг показывает, что значение переменной null
$zatestim = $_POST['region'];
function console_log( $dataS ){
  echo '<script>';
  echo 'console.log('. json_encode( $dataS ) .')';
  echo '</script>';
}

console_log( $zatestim  );

Помогите разобраться в чем ошибка
PS весь код в одном файле, jquery и yandex api подключены

Последний раз редактировалось mgq, 31.05.2017 в 14:14.
Ответить с цитированием
  #2 (permalink)  
Старый 31.05.2017, 14:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от mgq
Помогите разобраться в чем ошибка
Недавно где-то встречал подобную проблему... Но пока не нашел ссылки на нее.
Там писали про еще одно свойство метода ajax()... Там оно было указано не правильно. А у тебя его совсем нет.

Отправляй строкой.
var ob = {
		'id':3
	}

$(".for_button").click(function() {
		$.ajax({
			
			type:'POST',
			url:'index.php',
			dataType:'json',
			data:"param="+JSON.stringify(ob),
			success:function(html) {
$("<p class='for_content'>" + html['title'] + "</p>").
						prependTo(".content").
						hide().
						fadeIn(500);
			}
		});
		
	});

https://webformyself.com/peredacha-z...hp-i-naoborot/
Ответить с цитированием
  #3 (permalink)  
Старый 31.05.2017, 14:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Вот эта тема!
Отправка данных на сервер
Ответить с цитированием
  #4 (permalink)  
Старый 31.05.2017, 15:55
mgq mgq вне форума
Новичок на форуме
Отправить личное сообщение для mgq Посмотреть профиль Найти все сообщения от mgq
 
Регистрация: 31.05.2017
Сообщений: 3

Спасибо за ответ!
Сделал так:
$(document).ready(function() {
			ymaps.ready(function() {
				var geolocation = ymaps.geolocation;
				var region = ymaps.geolocation.region;
				var ob = {
					id: region
				}
				console.log(ob);
				$.ajax({
					type: 'POST',
					url: 'old.php',
					processData: true,
					dataType: 'json',
					data:"param="+JSON.stringify(ob)
				});

			});
		});

принял ответ так:
if($_POST['param']) {
		$param = json_decode($_POST['param']);
		echo json_encode($param->id);
	}

но фиг там, ответ вообще не пришел
Ответить с цитированием
  #5 (permalink)  
Старый 31.05.2017, 16:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от mgq
processData: true,
это вообще выбросить можно, оно и так по умолчанию true. contentType: false, и processData: false указывают для того, чтобы данные не преобразовывались и не были переданы как application/x-www-form-urlencoded когда $.ajax используется для загрузки файлов на сервер.

А ответ нужно смотреть в success: function(name_var) { ....
Ответить с цитированием
  #6 (permalink)  
Старый 31.05.2017, 16:27
mgq mgq вне форума
Новичок на форуме
Отправить личное сообщение для mgq Посмотреть профиль Найти все сообщения от mgq
 
Регистрация: 31.05.2017
Сообщений: 3

Если сделать так:
$.ajax({
					type: 'POST',
					url: 'old.php',
					dataType: 'json',
					data:"param="+JSON.stringify(ob),
					success: function(result) {
						alert( result );
					}	
				});

то success ничего не возвращает
Ответить с цитированием
  #7 (permalink)  
Старый 31.05.2017, 16:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от mgq
фиг там, ответ вообще не пришел
Я с ПХП не работаю... Шлю данные строкой, указав непосредственно в УРЛ - получаю нормально.

var prm='test';
$.ajax({
	type: 'POST',
	url: 'old.php?prm='+prm
});

Тут вот много чего про параметры в УРЛ...
Ответить с цитированием
  #8 (permalink)  
Старый 31.05.2017, 16:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Отладчик есть, можно проверить что отправляет (и отправляет ли) клиент, где и как пытается принять сервер....
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать значение переменной из php в js wayzer Элементы интерфейса 8 22.02.2015 21:20
Возможно ли передать значение переменной в "obCanvas.fillStyle" ? salno Общие вопросы Javascript 0 01.07.2013 21:28
Передать значение из html в js Mateus jQuery 3 24.12.2012 18:58
Нужно передать массив из php в JS tuezov52 AJAX и COMET 2 07.11.2011 00:08
Как передать массив из PHP в js (AJAX) Александр Иванов Общие вопросы Javascript 7 10.09.2009 10:22