Загрузите php файл, чтобы получить мой сеанс, используя JavaScript - PullRequest
0 голосов
/ 09 декабря 2011

Как я могу получить свои данные сеанса, используя javascript.

Сначала я открываю свой php-файл (www.sample.com/index.php)

index.php

<? $_SESSION['user'] = "carlo34";?>

<script>var data = '<?php json_encode($_SESSION['user']) ?>';</script>

Затем я открываю свой виджет (гаджет Windows 7)

Тогда у меня есть функция

test.js

$.get('index.php', function(data)){

alert(data);

});

но это никого не предупреждает.

///// Спасибо, это полезный совет, но в моем случае все еще не работает. Я просто изложил некоторые детали, извините за это. Я показываю переменную сеанса на стороне клиента, у меня есть скрипт, который загружает другой скрипт в домен

my.js (клиентская часть) здесь будет загружен мой скрипт

var url = "http://www.sampledomain.com/test.js";
var script = document.createElement('script');
script.src = url;
document.head.appendChild(script);

test.js (сторона домена)

$.get('index.php',function(data)){

alert(data);
}

1 Ответ

3 голосов
/ 09 декабря 2011

Вы делаете это неправильно.Прежде всего, не передавайте данные PHP напрямую в javascript.Слишком легко создать синтаксическую ошибку JS и уничтожить оставшуюся часть кода Javascript.

<script>var user = <?php echo json_encode($_SESSION['user']) ?>;</script>

с помощью json_encode гарантирует, что вы получите синтаксически правильный JavaScript, независимо от того, что хранится в этой переменной.

Кроме того, после того, как вы сделали это эхо, вам не нужно делать никаких AJAX-вызовов, значение теперь является кодом JS для браузера, и вы просто делаете:

alert(user);

Для реального ответа AJAX, так, как вы хотите его обработать, вы не выводите никакие теги <script> и тому подобное.Для простого «сделать запрос и получить строку назад» вам нужно будет сделать ваш PHP-скрипт:

<?php
    echo 'this is some data';
?>

, а на стороне JS:

$.get('script.php', function(data) { 
     alert(data);
});

появитсяокно с надписью «это некоторые данные».Если вы выводите теги <script>, а затем делаете то же самое предупреждение, вы получите <script>this is some data</script> в предупреждении и т. Д. *

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