JQuery发布单个变量到PHP

问题描述:

我有“创建用户”的形式,必须检查用户名是否已经存在。为此,我上的按钮启动该脚本由一个onclick功能:JQuery发布单个变量到PHP

$.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页面检查用户名的存在的结果。

+3

这些'\“'从哪里来? – 2013-02-27 16:33:48

+0

从onclick事件中删除代码,创建一个函数并从”中删除转义“。 – Ghigo 2013-02-27 16:34:55

+0

是否有错误消息被记录到控制台? – Jrod 2013-02-27 16:35:33

data关键需要value这是一个对象,像这样:

data: {username: $('input[name=Username]').val())}, 

这样,岗位价值username将被创建。

您需要将变量分配给可在$_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,只是检索$_POST['user']

编辑 - 我删除了contentType(感谢火箭)。我也删除具体的数据类型,因为你并不需要做的,如果你正确设置页眉上test.php

header('Content-type: application/json'); 
+0

丢失'contentType',这里不正确。 – 2013-02-27 16:36:52

+0

removedTypete ',它只是从复制/粘贴中删除'dataType:json',并告知如何正确设置test.php的头文件 – PlantTheIdea 2013-02-27 16:39:46

+0

保留'dataType:'json''很好,以防万一。 – 2013-02-27 16:41:23

  1. 不要逃避JS的随机位。摆脱\ s
  2. 如果您使用标准表单MIME类型进行格式化,而不是仅发送单个原始字符串,则处理提交的数据要容易得多。 data: { keyName: $('input[name=Username]').val() }
  3. 您未发送JSON文本。摆脱contentType: etc etc。 (留下它可能会导致PHP“这不是表格数据,我不能用它填充$_POST”)。让jQuery确定它发送的内容类型。

然后你可以在你的PHP中访问$_POST['keyName']