Вход

Просмотр полной версии : В чем ошибка


vetedde
06.07.2015, 11:32
Я знаю, что это вопрос задавался сотни раз. Я изучила все, что смогла найти, но

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
var mes = 'Hello, server!';
$.post('script.php', {mesag:mes}, function(data) { alert(data)});
</script>

<?php echo $_POST['mesag']; ?>

data показывает, что на сервер все передается, но почему же тогда не выводиться переменная?

Помогите, пожалуйста.

Safort
06.07.2015, 11:42
Открой инструменты разработчика(F12) и посмотри нет ли каких ошибок во вкладке "Console". Так же можно посмотреть вкладку "Network" и посмотреть что не так с проблемным запросом.

ksa
06.07.2015, 11:47
tmp.csp

<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
var mes = 'Hello, server!';
$.post('tmp1.csp', {mesag:mes}, function(data) { alert(data)});
});
</script>
</head>
<body>
</body>
</html>


tmp1.csp

#($g(%request.Data("mesag",1)))#

Все работает...

Но при твоем подходе

<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var mes = 'Hello, server!';
$.post('tmp1.csp', {mesag:mes}, function(data) { alert(data)});
</script>
</head>
<body>
</body>
</html>

Выдается сообщение об ошибке - $ не определена.

vetedde
06.07.2015, 12:25
Насколько я поняла на сервер все отправляется. В консоли ошибок нет. Но почему не выводится на странице? Без перезагрузки, может надо что-то подгружать при помощи load?

ksa
06.07.2015, 13:12
Но почему не выводится на странице?
Ты мой рабочий вариант пробовала?

vetedde
06.07.2015, 13:28
ksa,
У меня не получилось, но я таки нашла решение. У вдруг кому пригодится)
<script>
$(document).ready(function(){$("#id").load(url, {name:val});});
</script>

#id - id контейнера
url -путь подгружаемого файла
name - имя переменной
val - ее значение

Обратится к переданной переменной можно из url при помощи
$_POST['name']

Всем большое спасибо!!!

ksa
06.07.2015, 13:33
но я таки нашла решение
:lol:
И чем оно так сильно отличается от моего рабочего варианта?

vetedde
06.07.2015, 14:09
меня смутило csp и то, что внутри) Вот на неопытность=)

ksa
06.07.2015, 14:39
меня смутило csp и то, что внутри
Дык это не ПХП конечно... :lol:
На нем свет клином не сошелся.

Safort
06.07.2015, 14:43
ksa,
понапихал в код отвлекающих манёвровкомментов с подключением ангуляра, пустых подключений стилей и запрос на какой-то tmp1.csp (C# штоле?), а потом удивляется, почему его не поняли :)

ksa
06.07.2015, 14:47
C# штоле?
Caché Server Pages
http://www.intersystems.ru/cache/index.html#m3
а потом удивляется, почему его не поняли
Все эти вэб технологии примерно одинаковые... Я же ПХП как-то понимаю, хотя на нем никогда не писал. :)

Safort
06.07.2015, 16:17
ksa,
Я же ПХП как-то понимаю, хотя на нем никогда не писал.
ты слишком умный)

kostyanet
07.07.2015, 06:11
Обратится к переданной переменной можно из url при помощи
$_POST['name']


Обалдеть. Это с какого времени пост пошел через урл?

kostyanet
07.07.2015, 06:12
Образ известный. Зажмурив глаза ходим ощупываем слона: веревка, шланг, бочка, упс еще шланг... Прочитайте еще раз фразу в цитате. Волны перекатывались через мол и падали вниз стремительным домкратом - детский лепет по сравнению с глубиной маразма той самой фразы.