2014-10-06 41 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'); 
?>