我必须通过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
}
我不知道自己是否清楚。
答案 0 :(得分:2)
你的ajax代码应该以这种方式重建:(注意作为数据参数发送的对象)
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) {
}
)}
此外,在PHP中,您不需要使用GET
,因为您的ajax正在发送POST
请求。从而使GET['action']
无关紧要。
答案 1 :(得分:1)
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,应该帮助你