2013-07-29 2 views
-1

поэтому у меня есть это в моем HTML файлназначая значение JS в PHP

<script type="text/javascript" src="load.js"> </script>  
    <script type="text/javascript" src="load2.php"> </script> 

пила где-то можно назвать внешний файл PHP, используя тег JS скрипт и все, что JS в файле PHP будет оказана первая. Но моя проблема заключается в том, что я не могу назначить переменную JS из load.js для переменной php в load2.php, но, тем не менее, я мог бы оповещать об этом с помощью echo "alert(js variable);";. Так что это говорит мне, что она находит переменную, и я мог бы ее использовать, но Я не могу назначить его переменной php:/любая помощь, пожалуйста?

+0

Вам нужно будет использовать Ajax. Вот краткое учебное пособие http://www.tutorialspoint.com/php/php_and_ajax.htm –

+0

вы можете передавать данные только из js в php через ajax, получать запросы или представления формы .. что-то вроде 'load.php? Var = value' то вы можете получить его на load.php через '$ _GET ['var']', который вернет 'значение' – reikyoushin

+1

PHP - это серверный язык. JavaScript - это клиентский язык. PHP и JavaScript не могут совместно использовать переменные; они работают в разное время. 'load2.php' будет запущен, вернет файл JavaScript, который будет запущен браузером. –

ответ

0

PHP является серверным, JS является клиентской стороной. Это означает, что PHP будет работать задолго до того, как JS будет назначаться. Единственный способ, по которому PHP-файл получит JS-переменную, - это опубликовать его с помощью Ajax

+0

ИЛИ если вы отправляете форму или с помощью запросов GET, как в комментарии, опубликованном выше. – reikyoushin

1

При работе между JavaScript и php вы должны помнить, что одна из них - клиентская (JavaScript) и другая сторона сервера (php). Поэтому php может вставлять значения в javascript перед отправкой клиенту, а затем визуализироваться (обрабатываться). Хотя обратное не может произойти, поскольку «область» JavaScript находится на компьютере клиентов.

Путь вокруг этого заключается в том, чтобы использовать запросы AJAX от клиента обратно на сервер, отправляя обратно требуемые значения данных/переменных.

JQuery предоставляет простую в использовании библиотеку с функциональностью AJAX.

Пожалуйста, см http://api.jquery.com/jQuery.ajax/

0

Одним из вариантов было бы динамически загрузить PHP сгенерированный скрипт и передать некоторые параметры GET на PHP. Это все равно потребует ajax, но может быть сделано с помощью jQuery. Если вы используете jQuery, this - это документация для getScript.

EDIT

Таким образом, ваш файл HTML должен выглядеть следующим образом:

<!-- your first javascript file --> 
<script type="text/javascript" src="load.js"></script> 
<!-- load jQuery library --> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script type="text/javascript> 
    // get the variable from your first javascript file 
    // via a getter function or global variable 
    var x = getVarFromFirstFile(); 
    // this will load your second 'javascript' (generated by php) file 
    // and will pass the variable 'x' as a GET parameter to the php 
    $.getScript("load2.php?x="+x); 
</script> 

Тогда PHP в load2.php может получить доступ к переменной х (родом из load.js), как это:

<?php 
$x = $_GET['x']; 
... 
+0

Итак, просто поместите этот скрипт в свой JS-файл и ПОЛУЧИТЕ его с помощью php? – Kay

+0

Можете ли вы показать мне, как это сделать, используя javascript, пожалуйста – Kay

Смежные вопросы