Помощник
|
чпу |
Letmetouchyou
|
Сообщение
#1
|
||
|
|
||
|
|||
LifeUP |
18.8.2010, 17:34;
Ответить: LifeUP
Сообщение
#2
|
|
можно создать файл .js где будут лежать все запросы и с самого верха указать путь до ajax папки, или как у вас в каждом файле писать свой путь.
var url = ''; var loading = '<center><img src="'+url+'/ajax/loader.gif" /></center>'; // индикатор загрузки function searchme(v){ var chars = $('#user_name_magaz').attr('value'); $('#magaz1').html(loading); $('#magaz1').load(url+'/ajax/magaz.php',{task:'MAGAZ',id: v, nick: chars }); } function searchme2(v){ $('#magazin2').load(url+'/ajax/magaz.php',{task:'WM', id_wn: v }); } Вот както так P.S почему вы выбрали такой метод ЧПУ а не RewriteEngine On ErrorDocument 404 /error404.php ErrorDocument 403 /error403.php RewriteRule ^cat/([0-9]+).html$ index.php?t=cat&id=$1 [L] такой |
|
|
Flok |
18.8.2010, 17:53;
Ответить: Flok
Сообщение
#3
|
|
|
|
|
Letmetouchyou
|
Сообщение
#4
|
|
Flok, да не.
ErrorDocument 404 /error404.php ErrorDocument 403 /error403.php страницы ошибо зависят от текущего шаблона. RewriteRule ^cat/([0-9]+).html$ index.php?t=cat&id=$1 [L] а сымсл такой ? так не универсально что-то мне после этого показалось, что тут надо думать над переосмысливанием алгоритма. __________________ ну вот же я и спрашиваю, ка ктакоу лутше делать. Сейчас я прото распарсиваю адресную строку. |
|
|
LifeUP |
18.8.2010, 18:17;
Ответить: LifeUP
Сообщение
#5
|
|
Flok, да не. страницы ошибо зависят от текущего шаблона. а сымсл такой ? так не универсально ну вот же я и спрашиваю, ка ктакоу лутше делать. Сейчас я прото распарсиваю адресную строку. это лиш пример, разумеется ошибки будут свои, хотите универсально, можно и так сделать: 1. http://mysite.ru/home.html 2. http://mysite.ru/home/2.html RewriteRule ^([a-z]+).html$ index.php?index.php?m=$1 [L] RewriteRule ^([a-z]+)/([0-9]+).html$ index.php?index.php?m=$1&page=$2 [L] в modrewrite я не шарю но мне кажется так будет куда лучше писать чем как у вас. Тут всё просто а у вас ещё надо URL разбивать на куски. |
|
|
Letmetouchyou
|
Сообщение
#6
|
|
LifeUP, без разницы.
а если например http://mysite.ru/home http://mysite.ru/home/ должны быить одна и таже страница? Сообщение от Letmetouchyou ето понятно, но тут прийдеться еше делать обраотчик урл строки. А если имееться куча гет запросов? Как показала моя практика, rewriterule намного больше увеличивают время выполнения скрипта, нежели свой обработчик. http://www.html.by/showthread.php?t=11904 а на самом деле вопрос то не в этом) как в js в таком случае обрашаться к серверным обработчикам? то есть точка входа всегда index.php и по идеи путь к скриптам не меняеться, но в случаях http://mysite.com/home http://mysite.com/home/work http://mysite.com/home/job/html браузер воспринимает это как директории, и не можт обратиться к скрипту. |
|
|
LifeUP |
18.8.2010, 18:37;
Ответить: LifeUP
Сообщение
#7
|
|
Насчёт времени и своего обработчика ничего сказать не могу =)
создаете файл ajax.js - тут все ваши запросы грузите его в index.php и из любого файла обращаетесь к ajax через функции которые написаны в файле выше. Самый простой способ |
|
|
Letmetouchyou
|
Сообщение
#8
|
|
LifeUP,
создаете файл ajax.js - тут все ваши запросы грузите его в index.php и из любого файла обращаетесь к ajax через функции которые написаны в файле выше. Самый простой способ ну а причем тут ето ? к js функциям имеетсья доступ и так. если js файлы подключать использую абсолютный путь <script src='http://.....'></script> а вопрос именно как обратитсяь с яваскрипт функции к серверному обрботчку? напрмиер $.ajax({ url: './ajax/test.php', success: function(data) { .... } }); так, если адресс http://mysite.com/home работать будет а если http://mysite.com/home/second - небудет а заработает только если $.ajax({
url: '[COLOR="Red"]..[/COLOR]/ajax/test.php', success: function(data) { .... } }); |
|
|
LifeUP |
18.8.2010, 18:56;
Ответить: LifeUP
Сообщение
#9
|
|
или я вас не понял или вы меня =)
вот кину небольшой пример: все ajax файлы допустим лежат в папке ajax... Есть файл sample.js в котором находятся все запросы, и есть страница index.php, что получаем: sample.js var url = 'ajax/'; index.phpvar loading = '<center><img src="'+url+'/ajax/loader.gif" /></center>'; // индикатор загрузки function first () { $.post (url + "first.php", {task:"ddd"}, function (){ alert ('aaa'); }); } <script language="JavaScript" type="text/javascript" src="sample.js"></script> Ну вот как-то так, в таком случае откуда не вызови функцию везде она сработает, по крайней мере у меня =)
<input type='text' name='name' onchange="first ()" /> |
|
|
Letmetouchyou
|
Сообщение
#10
|
|
LifeUP, и что?
пример же не рабочий. htaccess: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,QSA] html <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js' type='text/javascript'></script> <script type="text/javascript" src="./ajax.js"></script> <button>click me</button> js var url = 'ajax/'; $(document).ready(function(){ $('button').click(function(){ $.post ( url + "first.php", {task:"ddd"}, function (request){ alert (request.data); }, "json" ); }); }); ajax-php [PHP]<?php header('Content-Type: text/javascript; charset=utf-8'); ?> {"data":"hi"}[/PHP] и теперь http://mysite.com/ http://mysite.com/home http://mysite.com/home/first с разнымиадресами попробуйте выполненеи скрипта |
|
|
|
Текстовая версия | Сейчас: 26.4.2024, 0:32 |