Динамически загружать php из динамического javascript - PullRequest
0 голосов
/ 09 декабря 2011

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

мой пример кода

sample.html (на стороне клиента)

<div onClick = "getThis()"></div>

my.js (на стороне клиента)

function getThis(){
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);
});

index.php (на стороне сервера)

<?php 

$_SESSION['user'] = "rob098";

?>

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

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

Ответы [ 3 ]

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

Используйте ajax и json:

sample.html

<div onClick = "getThis()"></div>

my.js (inside sample.html)

function getThis() {
  $.ajax({
    url: '/test.php',
    dataType: 'json',
    success: function(data){
      alert(data.user); //should alert rob098
    },
  });
}

test.php

header('Content-type: application/json');
echo json_encode(array("user" => "rob098"));
0 голосов
/ 09 декабря 2011

Я думаю, что вы используете JQuery $.get() неправильно. Ну, я никогда не видел, чтобы, по крайней мере, использовали этот способ, поэтому вам нужно изменить ваш index.php на этот:

<?php
    $_SESSION['user'] = "rob098";
    echo json_encode($_SESSION['user']);

    header('Content-type: application/json');
?>

Дайте мне знать, если я помог.

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

Вы должны добавить свой js-файл к этому

$(document).ready(function(){
$.get("index.php", function(data) {
    alert(data);
});

});

, чтобы при загрузке файла скрипта он выполнял код внутри функции готовности jQuery

...