У меня есть две проблемы, которые я пытаюсь решить.
- Во-первых, я пытаюсь настроить URL-адрес, чтобы он следовал схеме сканирования AJAX, как описано в Google: http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=174993 когда я загружаю свои две PHP-страницы для поиска, я в настоящее время просто звоню:
mysite / search_advanced.php mysite / mysite / search_basic.php
Я пытаюсь включить этиURL в:
mysite / #! / Search = advanced
mysite / #! / Search = basic
Мне нужна возможность напрямую вызывать эти URL и генерировать ихправильная страница.
- Моя вторая проблема заключается в том, что я не могу загрузить свои страницы в тег div, поскольку каждая страница поиска имеет свой собственный набор функций jquery для событий onclick.
Вот как я хотел бы загрузить свою страницу search_advanced в тег div с идентификатором main:
$('#search_advanced').click(function(e) {
$('#main').load("search_advanced.php");
return false;
});
Часть заголовка моей страницы search_advanced.php содержит следующее:
<?php session_start();
include_once('functions/dbconn.php');
include_once('functions/functions.php');
include_once('check.php');
check_login('3');
$profile = getProfile($_SESSION['uid']);
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$params = $_POST;
if(isset($_POST['pg'])) {
switch($_POST['pg']){
case '10':
$pg=10;
break;
case '25':
$pg=25;
break;
case '50':
$pg=50;
break;
default:
$pg=10;
}
}
}
function getPagination($start, $pg, $count) {
$pager = "";
$pages=(int)ceil($count/$pg);
$current_page = (int)ceil(($start+1)/$pg);
if($current_page > 1) {
$prev_page= ($current_page-2)*$pg;
$pager .= "<a href=\"#{$prev_page}\" class=\"pager\"><span class=\"prev\">Prev</span></a> ";
}
for ($i=1; $i<=$pages; $i++) {
if($current_page == $i) {
$pager .= '<strong>'.$i.'</strong> ';
}
else {
$page_start = ($i-1)*$pg;
$pager .= "<a href=\"#{$page_start}\" class=\"pager\"><span class=\"page_no\">".$i.'</span></a> ';
}
}
if ($current_page < $pages) {
$next_page = ($current_page)*$pg;
$pager .= "<a href=\"#{$next_page}\" class=\"pager\"><span class=\"next\">Next</span></a> ";
}
return $pager;
}
$title="Advanced Search";
$ready_script = <<<READY_SCRIPT
$(".country").change(function(){
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax
({
type: "GET",
url: "ajax_region.php",
data: dataString,
cache: false,
success: function(html){
$("#state_id").html('<option value="-1">Any</option>'+html);
}
});
});
$(".pager").click(function(){
// my code here
});
$('#advanced_search').click(function(){
// my code here
});
READY_SCRIPT;
В настоящее время моя переменная $ ready_script передается на мою страницу header.php, которая получаетВыполнено из этого:
$(document).ready(function() {
<?php if (isset($ready_script)) {echo($ready_script);} ?>
}
Я хочу сейчас вызывать мой header.php только один раз и загружать все свои страницы в мой основной тег div, чтобы я не постоянно обращался к серверу с ненужными вызовами каждый раз.После моего события меню onclick есть ли лучший способ инициализировать мои функции jquery для конкретной страницы, которую я загружаю?
Любые мысли будут с благодарностью.
Спасибо, -Paul