php - 如何使用 AJAX 提交表单数据文本和图像
问题描述
我正在尝试将图像数据从 Ajax 发送到 PHP,我已将表单 enc-type 设置为“multipart/form-data”。
它发送文本,但是,如何将文件发送到 .php 脚本?
这条线,我发送的图像是
employee_picture = $("#employee_picture").val();
我相信我需要将.val()更改为其他内容,但是我没有解决问题的当前知识。
阿贾克斯:
<script>
$(document).ready(function () {
$("form").submit(function (event) {
$("#create_employee").attr("disabled", true);
event.preventDefault();
var csrf_token = $("#csrf_token").val();
var first_name = $("#first_name").val();
var last_name = $("#last_name").val();
var email = $("#email").val();
var phone = $("#phone").val();
var title = $("#title").val();
var dob = $("#dob").val();
var other_information = $("#other_information").val();
var gender = $("#gender").val();
var address = $("#address").val();
var address2 = $("#address2").val();
var city = $("#city").val();
var postal_code = $("#postal_code").val();
var e_first_name = $("#e_first_name").val();
var e_last_name = $("#e_last_name").val();
var e_phone = $("#e_phone").val();
var e_relationship = $("#e_relationship").val();
var employee_picture = $("#employee_picture").val();
var create_employee = $("#create_employee").val();
$(".formMessage").load("/app/business/create_employee.php",
{
csrf_token: csrf_token,
first_name: first_name,
last_name: last_name,
email: email,
phone: phone,
title: title,
dob: dob,
other_information: other_information,
gender: gender,
address: address,
address2: address2,
city: city,
postal_code: postal_code,
e_first_name: e_first_name,
e_last_name: e_last_name,
e_phone: e_phone,
e_relationship: e_relationship,
employee_picture: employee_picture,
create_employee: create_employee
});
});
});
</script>
此外,在 php 脚本中。如何使用 $_POST 或 $_FILES 访问它?谢谢!
解决方案
您是正确的,您不想使用val
. 您可以使用 FileReader API(假设浏览器支持允许)从文件输入中实际获取文件内容。有关详细信息,请参阅此问题:Get data from file input in JQuery
您可以像现在一样传递该值,它将只是$_POST
数组服务器端可访问的表单数据中的字符串。通常,这将是一个 base64 编码值。
如果您进行了普通表单提交(不是通过 AJAX),则需要使用$_FILES
数组。
此外,您可能想查看使用$.ajax
or$.post
而不是$.load
. 我相信$.load
当你真的想做一个 POST 时会做一个 GET 请求。
推荐阅读
- go - Getting bind: address already in use even after closing the connection in golang
- html - 如何在django中通过css添加背景图片?
- spring - 使用 DeadLetterPublishingRecoverer 处理 Spring-kafka 错误
- javascript - Next.js 通过路径渲染动态内容
- reactjs - axios在reactJS中获取请求
- windows - 如果我使用 runas /netonly 运行 powershell,我如何才能看到“netonly”用户
- excel - 清除所有没有颜色的单元格
- powershell - 如何授权 GAS 编辑 Google 电子表格的范围
- r - 如何修复文件中的错误(文件,“rt”):无法打开连接
- php - 使用 PHP cURL 查看 Twitter 主页