Phonegap,AJAX-PHP数组问题

Phonegap,AJAX-PHP数组问题,php,mysql,arrays,ajax,cordova,Php,Mysql,Arrays,Ajax,Cordova,在通过数组将用户的输入值从HTML(使用AJAX)传递到php页面(在获取数组中)时,我遇到了麻烦。 我使用的方法正确吗?我在我的PHP页面中没有得到值 首先,我将用户的值分配给变量 var first_name = $("[name='first_name']").val(); var last_name = $("[name='last_name']").val(); 然后创建它的数组 var MyArray = {"firstname": first_name, "lastname":

在通过数组将用户的输入值从HTML(使用AJAX)传递到php页面(在获取数组中)时,我遇到了麻烦。 我使用的方法正确吗?我在我的PHP页面中没有得到值

首先,我将用户的值分配给变量

var first_name = $("[name='first_name']").val();
var last_name = $("[name='last_name']").val();
然后创建它的数组

var MyArray = {"firstname": first_name, "lastname": last_name};
下面是我如何将值传递给外部服务器的php文件

$.ajax({
        type: "POST",
        url: GolbalURL+"updategeneralinformation.php",
        data: "userarray="+ MyArray,
        dataType:'json',
        success: function(response){
            if(response.success) {
                navigator.notification.alert(
                    'Ok',
                    // No need for Callback function
                    'Ok',
                    'Ok'
                )
            }
            else {
                navigator.notification.alert(
                    'Something went wrong while attempting update',
                    // No need for Callback function
                    'Atempt Fail',
                    'Try Again'
                )
            }
        },
        error: function(error){
            navigator.notification.alert(
                    error,
                    // No need for Callback function
                    'Something wrong',
                    'Try Again'
                )
        }
    });
    return false;
现在,从HTML页面检索请求的数组的PHP文件代码,并运行PHP MySQL更新查询

$get_array = $_REQUEST['userarray'];
$query = mysql_query("UPDATE ".$db.".users SET first_name='$get_array["firstname"]', last_name='$get_array["lastname"]' ");
mysql_query($query);
   if (!mysql_query($query, $con)) {
  //die('Error: ' . mysql_error());
  $response['success'] = false;
} else {
  $response['success'] = true;
}
使用

而不是

data: "userarray="+ MyArray,
在服务器端

$get_array = $_POST;


注意:mysql\u查询已被弃用,请使用pdo或mysqli,其不安全形式为(
mysql\u real\u escape\u string()
missing)

执行此操作时,您已将javascript数组转换为字符串:

data: "userarray="+ MyArray,
所以基本上,php只是得到一个字符串。 您可能希望在javascript中执行此操作:

var MyArray = {"firstname": first_name, "lastname": last_name};
data: MyArray,

在php脚本中:

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];

Axel,谢谢你的回答,但不起作用,我需要在“first_name=”$get_array[“firstname”]”更改任何内容吗?是的,非常感谢Axel。这对我很有帮助。我也可以用这个方法来添加语句,对吗?是的,我想,只需更改所需的行。很好的解释用户:)很高兴我能帮上忙,Shivam Pandya^_^
data: "userarray="+ MyArray,
var MyArray = {"firstname": first_name, "lastname": last_name};
data: MyArray,
data: {"firstname": first_name, "lastname": last_name},
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
var MyArray = {"firstname": first_name, "lastname": last_name};
data: MyArray,