2010-11-28 3 views
0

Есть ли способ передать переменную javascript в php-функцию или просто назначить переменную js переменной php .... ???PHP Javascript variable help

test ("asdas"); Мне нужно обновить «asdas» до динамического значения, т. Е. Формы,

+2

Нет, вы не можете сделать это – 2010-11-28 17:49:18

+0

Там нигде не пройти. Затем JS начинает работать, PHP уже мертв. Вы можете отправить его другому скрипту PHP, используя обычный метод POST или GET. – 2010-11-28 17:51:10

+0

@Srinivas: Да, вы можете. Метод Валери будет работать отлично. – mpen 2010-11-28 17:55:01

ответ

1

Вы можете передать значение из js в PHP с помощью ajax-запроса или добавить значение js в URL-адрес, а затем перезагрузить страницу.

Вариант № 1 (с помощью Ajax):

JS сторона (JQuery)

var js_var = 'hello'; 
$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: "js_var="+js_var, 
    success: function(msg){ 
    alert("Data Saved: " + msg); 
    } 
}); 

PHP сторона

$ js_var = Исеть ($ _ POST [ 'js_var'])? $ _POST ['js_var']: '';

Вариант № 2 (с перезагрузки страницы):

JS стороне

<script type="text/javascript"> 
<!-- 
var js_var = 'hello'; 
window.location = "http://www.yoursite.com/?js_var="+js_var; 
//--> 
</script> 

PHP сторона

$ js_var = Исеть ($ _ GET [ 'js_var'])? $ _GET ['js_var']: '';

0

Если вы хотите отправить что-то с JS на PHP или с PHP на JS, используйте Ajax. Если PHP уже знает значение, которое он хочет отправить JS, когда он доставки страницу, вы можете вставлять его в JS:

<script> 
    var name="$name"; 
</script> 

Edit: Как сказал porneL, вы не должны помещать данные в страницу, без выхода из него, чтобы избежать открытия отверстий XSS.

О, и если вы используете AJAX, обратите внимание также на то, чтобы не делать данные ajax text/html или так , чтобы избежать XSS.