ajax没有传递参数到php

ajax没有传递参数到php

问题描述:

我有一个ajax调用一个php文件插入记录到数据库。但是,我没有看到在PHP文件中传递的参数的值,我有用于将值插入数据库的代码。这是我的Ajax调用ajax没有传递参数到php

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或$姓氏和任何价值,因此没有记录越来越插入。如果我在submit.php文件中静态定义$ first_name ='Jim'和$ last_name ='Smith',那么我会看到记录被插入到数据库中。任何想法我做错了什么?

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

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

谢谢克里斯蒂安,解决了它。不知道我是如何错过这样一件小事。 – amey1908 2012-04-12 17:36:12

你可以尝试添加PARAMS中的对象结构,而不是一个字符串,如:

数据:{姓:“吉姆”,姓氏:“史密斯”}