Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过POST to php函数使用$.ajax传递多个参数_Php_Jquery_Ajax_Post - Fatal编程技术网

通过POST to php函数使用$.ajax传递多个参数

通过POST to php函数使用$.ajax传递多个参数,php,jquery,ajax,post,Php,Jquery,Ajax,Post,我必须通过POST将数据传递给PHP中的函数,问题是它们无法检索数据 var jsonText = JSON.stringify(origen); var jsonTextDestino = JSON.stringify(destino); $.ajax({ type: "POST", url:"/lie/controlador/manejo_de_archivos/controlador.php?action=copiar_archivo", data: "origen

我必须通过POST将数据传递给PHP中的函数,问题是它们无法检索数据

var jsonText = JSON.stringify(origen);
var jsonTextDestino = JSON.stringify(destino);
$.ajax({
    type: "POST",
    url:"/lie/controlador/manejo_de_archivos/controlador.php?action=copiar_archivo",
    data: "origen=" + jsonText + "&destino=" + jsonTextDestino ,
    async: false,
    dataType: "json",
    success: function (jsondata) {
    }
PHP中的控制器端

if ($_GET["action"] == "copiar_archivo"){
    echo json_encode($controlador-> copiar_archivo($_POST["origen"],    $_POST["destino"]));
}
PHP中的函数,模型

function copiar_archivo($path_o, $path_dest){
    //some code
}
我不知道我是否清楚

var form = new FormData();
form.append("key1", "val1");
form.append("key2", "val2");

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://test.com/php.php",
  "method": "POST",
  "headers": {},
  "processData": false,
  "contentType": false,
  "mimeType": "multipart/form-data",
  "data": form
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

尝试类似的代码,m8应该可以帮助您解决这个问题。

您的ajax代码应该这样重建:(注意作为数据参数发送的对象)


另外,在PHP中,您不需要使用
GET
,因为ajax正在发送
POST
请求。因此,使
GET['action']
变得无关紧要。

你为什么把
GET
POST
混在一起?
var my_object = {"origen": origen, "destino":destino};
$.ajax({
    type: "POST",
    url:"/lie/controlador/manejo_de_archivos/controlador.php?action=copiar_archivo",
    data: my_object ,
    async: false,
    dataType: "json",
    success: function (jsondata) {
    }
)}