ajax没有将参数传递给php

时间:2012-04-12 13:30:04

标签: php ajax parameters insert

我对一个将文件插入数据库的php文件进行了ajax调用。但是,我没有看到在php文件中传递的参数的值,其中我有用于将值插入数据库的代码。这是我的ajax电话

  dataString = 'firstname=Jim&lastname=Smith';
  $.ajax(
  {
    type: "POST",
    url: "submit.php",
    data: dataString,
  });

这是我在submit.php文件中读取值的方法

$first_name = mysql_escape_string($_POST('firstname'));
$last_name = mysql_escape_string($_POST('lastname'));
$query = "INSERT into USERS (first_name, last_name) VALUES ('$first_name','$last_name');

但我没有在$ first_name或$ last_name中看到任何值,因此没有插入记录。如果我在submit.php文件中静态定义$ first_name ='Jim'和$ last_name ='Smith',那么我会看到正在数据库中插入的记录。知道我做错了吗?

2 个答案:

答案 0 :(得分:3)

$_POST是一个数组,因此您应该使用$_POST['var']访问其内容,而不是$_POST('var')。我建议您启用错误报告,这将帮助您更好地调试。例如,您的代码会导致致命错误。

$first_name = mysql_escape_string($_POST['firstname']);
$last_name = mysql_escape_string($_POST['lastname']);

答案 1 :(得分:0)

您可以尝试在对象结构中添加参数而不是字符串,例如:

数据:{firstname:“Jim”,姓:“Smith”}