2014-10-06 45 views
-1

這可能嗎?或者我真的需要首先使用AJAX JS?JS提示PHP變量

<?php 
echo'< script type="text/javascript">var eadd=prompt("Please enter your email address");< /script>'; 
$eadd = $_POST['eadd']; ?> 

以及如何使用AJAX做到這一點?

+0

這是不可能的,你必須做一個Ajax請求,以便能夠從JavaScript交談PHP。 – YoannM 2014-10-06 04:22:06

+0

你能告訴我如何?謝謝 – Ken 2014-10-06 04:25:28

+0

使用jQuery'$ .post('/ url',data,callback);'http://api.jquery.com/jquery.post/ – YoannM 2014-10-06 04:27:07

回答

3

它是不可能的。你應該使用ajax。 jQuery在以下實施例中使用:

<script> 
var eadd=prompt("Please enter your email address"); 
$.ajax(
{ 
    type: "POST", 
    url: "/sample.php", 
    data: eadd, 
    success: function(data, textStatus, jqXHR) 
    { 
     console.log(data); 
    } 
}); 
</script> 

在PHP文件

<?php 
echo $_POST['data']; 
?> 
+0

你能告訴我如何?謝謝 – Ken 2014-10-06 04:26:39

2

的Ajax(使用jQuery

<script type="text/javascript"> 
$(document).ready(function(){ 

var email_value = prompt('Please enter your email address'); 
if(email_value !== null){ 
    //post the field with ajax 
    $.ajax({ 
     url: 'email.php', 
     type: 'POST', 
     dataType: 'text', 
     data: {data : email_value}, 
     success: function(response){ 
     //do anything with the response 
      console.log(response); 
     }  
    }); 
} 

}); 
</script> 

PHP

echo 'response = '.$_POST['data']; 

輸出:(控制檯)

響應= [email protected]

+0

感謝編輯@Sverri我忘記提及包括'' – meda 2014-10-06 04:50:10

1

是不可能直接。因爲PHP首先在服務器端執行,然後在客戶端加載JavaScript(通常是瀏覽器)

但是有一些選項可以使用或不使用ajax。見下一個。

With ajax。 有很多的變化,但基本上你可以這樣做:

//using jquery or zepto 
var foo = prompt('something'); 
$.ajax({ 
    type: 'GET', //or POST 
    url: 'the_php_script.php?foo=' + foo 
    success: function(response){ 
     console.log(response); 
    } 
}); 

和PHP文件

<?php 
    echo ($_GET['foo']? $_GET['foo'] : 'none'); 
?> 

不用其他的ajax: 如果你想從javascript傳送給PHP傳遞一個值沒有阿賈克斯,一個例子就是這樣(雖然可能有另一種方法):

//javascript, using jquery or zepto 
var foo = prompt('something'); 
//save the foo value in a input form 
$('form#the-form input[name=foo]').val(foo); 

html代碼:

<!-- send the value from a html form--> 
<form id="the-form"> 
    <input type="text" name="foo" /> 
    <input type="submit"/> 
</form> 

和PHP:

<?php 
    //print the foo value 
    echo ($_POST['foo'] ? $_POST['foo'] : 'none'); 
?>