jquery - 尝试将文件从一个 Web 上传到 API 时出错
问题描述
我目前在两个不同的站点上工作,第一个是用户可以上传文件的网站,第二个是上传文件的 API(这是因为该网站非常古老且不可触及)。
我正在使用 Laravel (6) 构建 API,我已经用 Postman 对其进行了测试,并且文件正确上传,但是当我尝试将它与网站集成时,(构建在一个非常旧的不推荐使用的 CakePHP 版本上)没有t 工作,它甚至没有到达服务器(我正在检查 Apache 访问日志)。
我尝试过使用 AJaX、JQuery Post,并将 API URL 放在表单的 action 属性上,但是这些方法都不起作用,有人知道实现此目的的正确方法吗?
这是我正在使用的表格:
<form class="frm-upload form-horizontal" enctype="multipart/form-data" id="uploadpictures" method="post" name="uploadpictures" >
<div class="button small fileUpload white" data-original-title="" title="">
<span> <i class="icon-cloud-upload"></i> Upload</span>
<input class="upload field-file" multiple="" name="images[]" placeholder="File" type="file">
</div>
</form>
这是我尝试过的最后一个 JavaScript 代码:
$('#uploadpictures').submit(function(e){
e.preventDefault();
var data = new FormData(this);
$.ajax({
type: 'POST',
url: "https://api.something.com/file/uploadfromothersite",
data: data,
cache: false,
crossDomain: true,
contentType: false,
processData: false,
success: function(data){
if(data.check){
alert("success");
} else{
alert("Fail");
}
}
});
});
我只是收到一个超时错误异常,请我需要一些帮助!
解决方案
让我们在你的ajax中添加这个:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
推荐阅读
- mongodb - MongoDB左连接嵌套文档
- node.js - 除了错误消息之外,您应该如何访问 Promise.allSettled() 对象数组中返回的堆栈跟踪?
- javascript - 根据 id 减去数量
- python - 写入文件问题 - 'list' 对象不可调用(Python)
- sql - 将 XML 节点附加到 SQL 中的现有树
- nestjs - NestJs/swagger:定义没有 DTO 类的引用模式
- javascript - 是否可以在 chartJs 上为不同的 yAxis 间隔创建不同的步长?
- django - 我如何不让用户能够使用 django-rest-framework 修改另一个用户的数据
- python - python用字典和打印实例化类
- excel - 打印相同的标签,但在每个标签中更改一个值