$ .ajax пытается получить переменные запроса $ _GET внутри недавно загруженной страницы ajax - PullRequest
0 голосов
/ 16 ноября 2010

хорошо, у меня есть div #pagecontainer, который загружает в него другую страницу php page_ $ var.php, а $ var - номер страницы, мне нужно получить переменные строки запроса url, но я не могу получить их с новой страницы.

пример: loc = 3 & option = 5

Я просто не могу взять это на новой странице

Ответы [ 5 ]

1 голос
/ 17 ноября 2010

На <head> вашей главной страницы или в любом другом месте, пока ваш ajax-скрипт может его получить, добавьте:

<script type="text/javascript">
    $_GET = <?php echo json_encode($_GET) ?>;
</script>

После этого вы сможете использовать переменную $ _GETиз JavaScriptНапример, вы можете проверить это в FireBug в FireFox:

console.info($_GET);
console.info($_GET['loc']);
console.info($_GET.loc);

Не забудьте санировать значения, прежде чем использовать их для чего-то важного ...

1 голос
/ 16 ноября 2010

1) Убедитесь, что ваша страница действительно загружается - выведите некоторое статическое значение независимо от loc и опции

2) распечатайте $ _SERVER ['QUERY_STRING'], чтобы убедиться, что ваши параметры получения передаются

3) распечатать дамп _GET через var_dump ($ _ GET)

Удачи!

0 голосов
/ 01 февраля 2011

Вот способ получить параметры URL с помощью JavaScript.

<script language="javascript">
function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

От: http://www.netlobo.com/url_query_string_javascript.html

0 голосов
/ 17 ноября 2010

я строю его на основе этого урока http://tutorialzine.com/2009/09/simple-ajax-website-jquery/

, за исключением того, что у меня есть файл load_page.php, включающий файлы page_x.php, но внутри файла page_1 он есть, включая файл connect.php, а затем выполняетсяSQL-запрос "SELECT * FROM страниц, ГДЕ Pages.option = 'mysql_real_escape_string ($ _ GET [" option "]);

, и я никогда не могу получить строку URL-запроса внутри php-файла

Я загружаю это как page_1 из учебника, и я пытаюсь получить GET со страницы, которая загружает эту

здесь ссылка http://imstillreallybored.com/newstuff/pagetest.php?loc=3&option=5

info загружает страницу_1.php, где я пытаюсьчтобы получить строку URL-запроса, я подключаюсь к базе данных и собираю информацию только потому, что я устанавливаю опции $ loc и $ для проверки чисел, пока я не смогу получить строку

<?php
include './connect.php';

$sql = "SELECT
        *                   
        FROM                      
            pages                    
        WHERE                        
            pages.option =".mysql_real_escape_string($_GET["option"]);            
        $result = mysql_query($sql);            
        if(!$result)            
        {                
            echo 'The topic could not be displayed, please try again later.';            
            }else{               
                if(mysql_num_rows($result) == 0)                
                {                    
                    echo 'This doesn&prime;t exist.';               
                }else{                    
                while($row = mysql_fetch_assoc($result))                    
                    {                       
                        if($_GET["loc"]=="3")                       
                    {                        
                    //display content for sports section based on option                         
                    echo $option.'                          
                    <div id="pageContent">                              
                    <div class="clear"></div>                               
                    <h2>'.$row[header].'</h2>                               
                    <p class="meta">                                    
                    <b>Coach(s)</b>:<a href="staff.php">'.$row[coach].'</a>                             
                    </p>                                                                        <div class="post-img">                                      
                    <a href="#"><img src="'.$row[image].'" width="640" height="196" alt="image missing" /></a>                                  
                    </div>                                  
                    <div class="excerpt">                                       
                    <p>'.$row[body].'</p>                                   
                    </div>';                    
                    }                   
                }                
        }            
 }
 ?>
0 голосов
/ 16 ноября 2010

Да, вы можете. Если page_1.php?loc=3&option=5 является вашей строкой запроса, тогда $_GET['loc'] и $_GET['option'] установлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...