AJAX/JS/PHP-无需刷新页面或单击按钮即可回显值
我目前正在使用一个JS/AJAX函数,它不需要刷新页面或单击按钮就可以工作。我在回显该值时遇到了一些问题。例如,如果我更改此行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
$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;哦,这很有道理。非常感谢。哦,这很有道理。非常感谢。