Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   history рассширение для браузеров не поддерживающих pushState, replaceState (https://javascript.ru/forum/project/21077-history-rassshirenie-dlya-brauzerov-ne-podderzhivayushhikh-pushstate-replacestate.html)

Mateus 20.06.2013 15:16

Спасибо, исправил.
А каким образом можно получить значения? К примеру с ссылки :
localhost/site/pics/123

Как получить значение 123?

devote 20.06.2013 15:43

Цитата:

Сообщение от Mateus
Как получить значение 123?

$param = isset($uri['list'][0]) ? $uri['list'][0] : null;

$uri это массив, там есть некоторые параметры... Смотрите его свойства.

devote 20.06.2013 15:45

выглядеть он будет примерно так:

Array(
  [module] => pics
  [params] => 123
  [uri] => /123
  [list] => Array(
      [0] => 123
    )
  [protocol] => http
  [domain] => localhost
  [host] => localhost
)

Mateus 20.06.2013 18:37

Если я правильно понял, то поймать параметр можно в index.php или в main.php ? Я поймал этот параметр в main.php

if ( isset( $modules[ $uri['module'] ] ) ) {
		foreach( $modules[ $uri['module'] ]['templates'] as $file ) {
		
		$param = isset($uri['list'][0]) ? $uri['list'][0] : null; 
		if ($param == "") { $param = "empty";}
		echo 'parametr - <b>'.$param.'</b>';

			include _TEPMLATE_PATH.$file;
		}
	}

А каким образом мне передать этот параметр в _TEPMLATE_PATH.$file;

devote 20.06.2013 18:43

Mateus,
ну можно упростить:
$param = empty($uri['list'][0]) ? "empty" : $uri['list'][0];
echo 'parametr - <b>'.$param.'</b>';
Цитата:

Сообщение от Mateus
А каким образом мне передать этот параметр в _TEPMLATE_PATH.$file;

в вашем случае, он там будет доступен глобально.

Mateus 20.06.2013 19:00

Цитата:

Сообщение от devote (Сообщение 257486)
Mateus,
ну можно упростить:
$param = empty($uri['list'][0]) ? "empty" : $uri['list'][0];
echo 'parametr - <b>'.$param.'</b>';

в вашем случае, он там будет доступен глобально.

Моя ошибка. В модульном файле вызывал функцию и подключал файл, но не передавал это значение. Теперь всё работает. Огромное спасибо еще раз!

Mateus 21.06.2013 14:22

У меня опять вопрос к Вам :
В main.php я подключаю скрипт :
<script type="text/javascript" src="<?php echo _LINK_PATH;?>js/test.js"></script>


У меня есть див в модульном файле:
<div id="box" onclick="test('123')">TEST</div>


В самом же скрипте :

function test(data){
$.ajax({
type: "POST",
url: "file.php",
data: {data: data },
success: function(msg){
 alert(msg)
$('#box').empty().append(msg);
}


Проблема в том, что js не может правильно найти адрес file.php и #box. Как это можно исправить?

П.с. Еще как совет, почему бы не трансформировать url в lowercase или uppercase? site.com/url != site.com/URL
Или это сделано нарочно?

devote 21.06.2013 15:52

Цитата:

Сообщение от Mateus
Проблема в том, что js не может правильно найти адрес file.php

ну дык это не проблема, сами могли догадаться что сайт у вас находиться в папке /site/ дык и добавьте тег BASE внутрь тега HEAD с указанием этой папки, что-то вроде:
<base href="<?php echo _LINK_PATH;?>" />
и тогда браузер будет знать что нужно к пути добавить этот префикс.

Цитата:

Сообщение от Mateus
очему бы не трансформировать url в lowercase или uppercase?

ваше право, вам никто не запрещает этого делать... Если это вам необходимо, просто возьмите и трансформируйте.

Mateus 23.06.2013 12:19

Возможна ли отправка Ajax POST запросов?
К примеру :
$.ajax({
type: "POST",
url: "file.php",
data: {data : data },
success: function(msg){
alert(msg)
}

Т.к. получилось отправить запрос и получить GET запрос :
$.ajax({
type: "GET",
url: "file.php?data=123",
success: function(msg){
alert(msg)
}

devote 23.06.2013 12:22

Цитата:

Сообщение от Mateus
Возможно ли отправка Ajax POST запросов?

конечно возможна


Часовой пояс GMT +3, время: 10:28.