Estoy tratando de enviar un archivo al archivo php a través de ajax, el problema es cuando intento enviar los datos, necesito enviarlos como String (obligatorio) para ubicar el controlador y la acción (función) de esta manera:
jQuery.ajax({ type: "POST", url: "/app/controllers/router.php", data: { controller: 'resource_management/language_control', action: "createLanguageControl", user: User, language: Language, course: Course, begin_date: BeginDate, end_date: EndDate, installments: Installments, monthly_amount: MonthlyAmount, max_reimbursement: MaxReimbursement, currency: Currency, TempDir : tempDir, DocName : docName }, cache: false, success: function (r) { ... });Entonces pasa por el enrutador y lee el controlador y la acción por cadena. ¿Cómo envío el archivo?
Puedes intentar algo como esto:
var file = "someFile.csv"; var data = new FormData(); var controllerData = JSON.stringify({ controller: "resource_management/language_control", action: "createLanguageControl", ..... }); data.append("file", file); data.append("string", controllerData); $.ajax({ url: '/app/controllers/router.php', method: "POST", data: data, contentType: false, processData: false, });