Ajax Angular2 fileupload不会将数据发送到PHP文件。为什么不呢?
下面的脚本将显示如何运行AJAX调用以将一些文件(图像)发送到服务器。但是如果我在Ajax Angular2 fileupload不会将数据发送到PHP文件。为什么不呢?,ajax,angular,angular2-http,Ajax,Angular,Angular2 Http,下面的脚本将显示如何运行AJAX调用以将一些文件(图像)发送到服务器。但是如果我在PHP中显示$\u POST中的值,我会收到一个空数组 upload():void { let headers = new Headers(); let formData: FormData = new FormData(); for(let i = 0; i < this.files.length; i++){ formData.a
PHP
中显示$\u POST
中的值,我会收到一个空数组
upload():void {
let headers = new Headers();
let formData: FormData = new FormData();
for(let i = 0; i < this.files.length; i++){
formData.append(i.toString(), this.files[i], this.files[i].name);
}
//next line is updated
formData.append('x', "test");
var returnReponse = new Promise((resolve, reject) => {
this.http.post('save.php', formData, {
headers: headers
}).subscribe(
res => {
console.info(res);
},
error => {
console.info(error);
}
);
});
upload():void{
let headers=新的headers();
让formData:formData=newformdata();
for(设i=0;i{
this.http.post('save.php',formData{
标题:标题
}).订阅(
res=>{
控制台信息(res);
},
错误=>{
控制台信息(错误);
}
);
});
我用
FireHP
和FireBug
接收PHP
输出,因此调用到达服务器。我的错误是,$\u POST
变量仍然为空吗?我可能错了,但您似乎没有正确设置标题。这可能会有帮助:标题=新标题({'Content-Type':'application/json'});
@mickdev感谢您的快速响应,我在帖子中添加了标题
,但它也不起作用。有一点让我感到奇怪的是,如果我在for循环下面添加这个代码formData.append('x',“test”);
我会收到$\u帖子['x']
变量及其值,但不是for loo中的附加文件。您能告诉我们您的formData
的外观吗?因为,您可以这样发送文件:formData.append(“youfile”,fileInputElement.files[0])
现在我完全搞糊涂了…formData是空的,但是…我在服务器上找到了x
。我怎么能找到这个呢?如果formData是emtpy?@mickdev嗯..服务器的帖子是可访问的。$\u文件的输出包含正确的变量。大小和tmp\u名称是空的。有什么问题吗奥塞特?我试着去了解一些事情,但没有成功。。