Javascript AJAX到PHP-->PHP未获得通行证

Javascript AJAX到PHP-->PHP未获得通行证,javascript,php,mysql,ajax,Javascript,Php,Mysql,Ajax,我仍然是个呆子,还在学习,但我不明白为什么来自AJAX调用的数据没有成功地传递到PHP中 我哪里出了问题?我真的花了好几个小时,我不明白为什么AJAX调用没有将其发布到PHP中。我相信ajax调用中data:name+email的data属性肯定有问题,或者从ajax检索数据帖子的PHP端有问题 我完全糊涂了。。。 谢谢你的帮助,对我宽容点 谢谢 函数submitform1{ 变量reg=/^[A-Z0-9.\%+-]+@[A-Z0-9-]+\.+[A-Z]{2,4}$/i; var name

我仍然是个呆子,还在学习,但我不明白为什么来自AJAX调用的数据没有成功地传递到PHP中

我哪里出了问题?我真的花了好几个小时,我不明白为什么AJAX调用没有将其发布到PHP中。我相信ajax调用中data:name+email的data属性肯定有问题,或者从ajax检索数据帖子的PHP端有问题

我完全糊涂了。。。 谢谢你的帮助,对我宽容点

谢谢

函数submitform1{ 变量reg=/^[A-Z0-9.\%+-]+@[A-Z0-9-]+\.+[A-Z]{2,4}$/i; var name=$'signup\u name\u of_user'.val; var email=$“注册用户的电子邮件”。val; ifname.trim=={ 提醒“请输入您的姓名”; $“注册用户的名称”。焦点; 返回false; }else ifemail.trim=={ 提醒“请输入您的电子邮件”; $“注册用户的电子邮件”。焦点; 返回false; }else ifemail.trim!=&&!reg.testemail{ “请输入有效电子邮件”警报; $“注册用户的电子邮件”。焦点; 返回false; }否则{ $.ajax{ 类型:'POST', url:'test_signup.php', 数据:姓名+电子邮件, 发送前:函数{ $'.btn light'.attr已禁用,已禁用; $'.sign-up'.css'opacity','.5'; }, 成功:functionmsg{ ifmsg=='ok'{ $'signup\u name\u of_user'.val; $'signup\u email\u of_user'.val; $'.statusMsg'.html'感谢您与我们联系,我们将很快与您联系。

'; }否则{ $'.statusMsg'.html'出现问题,请重试'; } } }; } } 这的确是错误的:

data: name+email
值作为键/值对发送。您发送的只是一个没有键的值。服务器端代码如何知道如何在没有键的情况下检索该值?取而代之的是,考虑这样的事情:

data: { 'name': name, 'email': email }
然后,在服务器端,您可以通过其键检索值:

$_POST['name']
或:

注意:键不需要与保存值的变量同名。在这种情况下,它们似乎是合理适用的名称。您也可以轻松做到这一点:

data: { 'first': name, 'another': email }
并使用更新的键检索值:

$_POST['first']

随着表单变得越来越复杂,有多种方法可以在JavaScript中创建对象来定义键和值。例如,您可以在一行代码中序列化整个文件。或者在JSON中定义更复杂的对象,序列化,然后在服务器端反序列化。但是从一些简单的键/值对开始就可以了。

您的数据似乎格式不正确,请尝试以下方法:

var data = {};
data.name = $('#signup_name_of_user').val();
data.email = $('#signup_email_of_user').val();
在ajax:data:data中

根据jQuery文档,数据属性接受以下格式: 类型:纯对象、字符串或数组

这里我们需要的是PlainObject:

var data = {'objectmember': 'objectvalue'};

数据:姓名+电子邮件,这是您的代码易受攻击的问题。您应该通过或驱动程序将准备好的语句与绑定参数一起使用。有一些很好的例子。他甚至还没有写那部分,他没有得到数据。我相信他会修好的
var data = {'objectmember': 'objectvalue'};