将关联数组从 ajax 发送到 php

send associative array from ajax to php

我的查询给出结果 query_string 和 query_string_id 我希望该结果为 ajax 提供数据并将其发送到 php

但我不知道 如何通过 ajax

发送关联数组

请帮助我构建我的代码

function querySuccessEnds(tx,results) {
    var len = results.rows.length;
    console.log("DEMO table: " + len + " rows found.");
    var deltaArray=new Array();
    for (var i=0; i<len; i++){
        deltaArray[i]=[];
        deltaArray[i]['query']=results.rows.item(i).query_string
        deltaArray[i]['sync_query_id']=results.rows.item(i).sync_query_id
    }

    var data_to_send = JSON.stringify(deltaArray);
    console.log("data"+data_to_send);
    $.ajax({//to get online data
        type:"POST",
        url:galileoServer + "actions.php",
        data:"get=update&queries="+data_to_send,
        success:function(result){
            console.log(result);
        },
        error: function(xhr, status, error) {
            console.log(xhr.responseText);
        }
    }); //EOC ajax

}// EOC successUpdate

我的php文件

$data = json_decode(stripslashes($_REQUEST['queries']));


foreach($data as $a){
    echo $a->sync_query_id;
    echo $a->query;
}

根据发送的数据量,我建议直接使用数据:

$.ajax({
    type:"POST",
    url:galileoServer + "actions.php",
    data:{get:'update',queries:deltaArray},
    success:function(result){
        console.log(result);
    }
});

或使用 FormData:

var formdata = new FormData();
formdata.append("get","update");
formdata.append("queries",deltaArray)

$.ajax({
    type:"POST",
    url:galileoServer + "actions.php",
    data:formdata,
    success:function(result){
        console.log(result);
    }
});

ofc 这会导致您的 php:

发生变化
$data = $_REQUEST["queries"];