Jquery将单个变量发布到PHP
我有“创建用户”表单,它必须检查用户名是否已经存在。为此,我在启动此脚本的按钮上创建了onclick函数:Jquery将单个变量发布到PHP,php,jquery,json,Php,Jquery,Json,我有“创建用户”表单,它必须检查用户名是否已经存在。为此,我在启动此脚本的按钮上创建了onclick函数: $.ajax({ type: \"POST\", dataType: \"json\", url: \"test.php\", data: $('input[name=Username]').val(), contentType: \"application/json; charset=utf-8\", success: function(data){ alert('Items added
$.ajax({
type: \"POST\",
dataType: \"json\",
url: \"test.php\",
data: $('input[name=Username]').val(),
contentType: \"application/json; charset=utf-8\",
success: function(data){
alert('Items added');
},
error: function(e){
console.log(e.message);
}
});
但是,什么也没有发生,即使是表示成功的警报也没有发生!
请帮助我了解如何发布该单个变量以及如何从PHP页面检查用户名的存在性来获得结果。您的
数据
键需要一个值,它是一个对象,如下所示:
data: {username: $('input[name=Username]').val())},
这样,将创建POST值用户名
。您的数据
键需要一个值
,它是一个对象,如下所示:
data: {username: $('input[name=Username]').val())},
这样,将创建POST值用户名
。您需要将变量分配给可在$\u POST
调用中引用的项目:
$.ajax({
type: "POST",
url: "test.php",
data: {user:$('input[name=Username]').val()},
success: function(data){
alert('Items added');
},
error: function(e){
console.log(e.message);
}
});
然后在test.php
中,只需检索$\u POST['user']
编辑-我删除了contentType(谢谢)。我还删除了数据类型,因为如果在test.php
上正确设置了标题,就不需要这样做:
header('Content-type: application/json');
您需要将变量分配给可以在$\u POST
调用中引用的项目:
$.ajax({
type: "POST",
url: "test.php",
data: {user:$('input[name=Username]').val()},
success: function(data){
alert('Items added');
},
error: function(e){
console.log(e.message);
}
});
然后在test.php
中,只需检索$\u POST['user']
编辑-我删除了contentType(谢谢)。我还删除了数据类型,因为如果在test.php
上正确设置了标题,就不需要这样做:
header('Content-type: application/json');
不要逃避JS的随机位。摆脱\
s
如果使用标准表单mime类型格式化,而不是只发送一个原始字符串,则处理提交的数据会容易得多<代码>数据:{keyName:$('input[name=Username]')。val()}
contentType:etc
。(保留它可能会导致PHP“这不是表单数据,我不能用它填充$\u POST
”)。让jQuery确定它发送的内容类型$\u POST['keyName']
\
scontentType:etc
。(保留它可能会导致PHP“这不是表单数据,我不能用它填充$\u POST
”)。让jQuery确定它发送的内容类型然后,您可以在PHP中访问
$\u POST['keyName']
。这些\“
来自哪里?从onclick事件中删除代码,创建函数并从中删除转义。控制台是否记录了错误消息?contentType
是请求中发送到服务器的内容类型。请删除它,您没有发送JSON。很抱歉,\”来自PHP回音(“脚本”)命令。它们是从PHP echo函数中转义的,应该不是问题。除此之外,我想我想使用JSON,因为如果用户名存在,脚本应该将文本字段变为红色,或者如果用户名可用,则继续。因此,您可以查看JSON响应的输出,以检查用户名是否免费。这些\”在哪里
come from?Remove code from onclick event,create a function and Remove escapes from“。控制台是否记录了错误消息?contentType
是请求中发送到服务器的Content Type
。如果删除,则不发送JSON。很抱歉,\”来自PHP echo(“脚本”)命令。它们是从PHP echo函数中转义出来的,不应该是问题所在。除此之外,我想我应该使用JSON,因为如果用户名存在,脚本应该将文本字段设置为红色,如果用户名可用,则继续。因此,您需要查看JSON响应的输出,以检查用户名是否是免费的。删除了contentType
,它就在复制/粘贴中。还删除了dataType:json
,并告知如何正确设置test.php的头。保留dataType:'json'
是可以的,只是以防万一。是的,但是正确设置文件头时完全不必要且多余。以防万一,apache服务器停止识别头声明?删除了contentType
,它就在复制/粘贴中。还删除了dataType:json
,并告知如何正确设置test.php的头。保留dataType:'json'
是可以的,只是以防万一。是的,但是正确设置文件头时完全不必要且多余。以防万一,apache服务器会停止识别头声明吗?