AJAX/JS/PHP-无需刷新页面或单击按钮即可回显值

AJAX/JS/PHP-无需刷新页面或单击按钮即可回显值,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,我目前正在使用一个JS/AJAX函数,它不需要刷新页面或单击按钮就可以工作。我在回显该值时遇到了一些问题。例如,如果我更改此行$email=$\u POST['name']它工作得很完美,但是如果我使用电子邮件的实际值,比如$email=$\u POST['email']它不工作。我是JS和php的新手 有人能告诉我为什么会有这样的结果吗 $(文档).ready(函数(){ var定时器=null; var数据串; 函数submitForm(){ $.ajax({type:“POST”, ur

我目前正在使用一个JS/AJAX函数,它不需要刷新页面或单击按钮就可以工作。我在回显该值时遇到了一些问题。例如,如果我更改此行
$email=$\u POST['name']它工作得很完美,但是如果我使用电子邮件的实际值,比如
$email=$\u POST['email']它不工作。我是JS和php的新手

有人能告诉我为什么会有这样的结果吗


$(文档).ready(函数(){
var定时器=null;
var数据串;
函数submitForm(){
$.ajax({type:“POST”,
url:“test1.php”,
数据:dataString,
成功:功能(结果){
$('#special').html($('#resultval',result.html());
}
});
返回false;
}
$('#email')。在('keyup',function()上{
清除超时(计时器);
定时器=设置超时(提交格式0050);
var name=$(“#email”).val();
数据字符串='名称='+名称;
});
}); 
PHP

<?

if($_POST) {
    $email = $_POST['email'];
    if (preg_match('|^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$|i', $email)) {
        echo ('<div id="special"><span id="resultval">'.$email.'</span></div>');
    }
    else {
        echo ('<div id="special"><span id="resultval">Include a valid email address.</span></div>');

    }           
}
?>

那么,您可以显式指定一个参数“name”来保存电子邮件地址。没有您指定的参数“email”。在JS代码中的这一行拾取物品:

dataString = 'name='+ name;
因此,尝试像您这样用php读取电子邮件地址是没有意义的:

$email            = $_POST['email'];
在php代码中读取参数时,必须更改JS代码来命名参数


因此,您所要做的最有可能就是更改当前的JS代码

        var name = $("#email").val();
        dataString = 'name='+ name;


那么,您可以显式指定一个参数“name”来保存电子邮件地址。没有您指定的参数“email”。在JS代码中的这一行拾取物品:

dataString = 'name='+ name;
因此,尝试像您这样用php读取电子邮件地址是没有意义的:

$email            = $_POST['email'];
在php代码中读取参数时,必须更改JS代码来命名参数


因此,您所要做的最有可能就是更改当前的JS代码

        var name = $("#email").val();
        dataString = 'name='+ name;


在客户端浏览器上,使用参数
name
发出请求(因为
dataString='name='+name;
),因此在服务器端,您可以通过
$POST['name']

在客户端浏览器上使用参数
name
发出请求(因为
dataString='name='+name;
),因此,在服务器端,您可以通过
$POST['name']

获取值。我可能错了,但看起来您在使用dataString时犯了一个错误。将其更改为dataString='email='+name;我可能错了,但看起来您在使用dataString时犯了一个错误。将其更改为dataString='email='+name;哦,这很有道理。非常感谢。哦,这很有道理。非常感谢。