【发布时间】:2020-04-19 13:10:38
【问题描述】:
我目前在两个不同的网站上工作,第一个是用户可以上传文件的网站,第二个是上传文件的 API(这是因为该网站非常古老且不可触及)。
我正在使用 Laravel (6) 构建 API,我已经使用 Postman 对其进行了测试,并且文件上传正确,但是当我尝试将它与网站集成时,(构建在一个非常旧的不推荐使用的 CakePHP 版本上) 不起作用,它甚至无法到达服务器(我正在检查 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");
}
}
});
});
我刚刚收到一个超时错误异常,请我帮忙!
【问题讨论】:
-
尝试在控制台中记录“this”并检查里面有什么
-
应该是http而不是https?
标签: jquery html ajax laravel post