Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax请求图像_Jquery_Ajax - Fatal编程技术网

Jquery Ajax请求图像

Jquery Ajax请求图像,jquery,ajax,Jquery,Ajax,我想发出一个包含图片的AJAX请求。只有图像才是一种形式,而且必须是图像 var form = $('form')[0]; // You need to use standard javascript object here var formData = new FormData(form); var data = { id: id, title:title, photo:formdata }; $.ajax({ type: 'POST', enctype: 'multi

我想发出一个包含图片的AJAX请求。只有图像才是一种形式,而且必须是图像

var form = $('form')[0]; // You need to use standard javascript object here
var formData = new FormData(form);

var data = {
  id: id,
  title:title,
  photo:formdata
};

$.ajax({
  type: 'POST',
  enctype: 'multipart/form-data',
  url: '/my-url',
  data: JSON.stringify(data),
  processData: false,
  cache: false,
  contentType: false,
  success: function(response){
    console.log(response);
  },
  error: function(data){
    console.log("error");
    console.log(data);
  }
})

我用
.val()获取id和标题我想保留这个..,它对id和标题工作正常,但我不知道如何将图像发送到数据库。

您的问题是因为您试图将二进制
FormData
附加到一个对象,然后将其序列化

相反,您需要将附加数据添加到
FormData
对象中,以便以相同的方式对其进行编码。试试这个:

var form = $('form')[0];
var formData = new FormData(form);

formData.append('title', title);
formData.append('id', id);

$.ajax({
  type: 'POST',
  enctype: 'multipart/form-data',
  url: '/my-url',
  data: formData,
  processData: false,
  cache: false,
  contentType: false,
  success: function(response) {
    console.log(response);
  },
  error: function(data){
    console.log("error");
    console.log(data);
  }
})
请注意,如果从
表单
中的
输入
元素中检索
id
标题
值,则您甚至不需要
附加()
行,因为当您向构造函数提供
表单
时,它们将自动包含在
表单数据


还要确保在
表单
元素的
提交
事件下运行此代码,并调用
预防默认值
。不要把它放在点击
提交
按钮下。

那么你希望有人为你编写服务器端部分吗?@Rorymcrossan noo.我只想知道它为什么没有传递图像..我正在查看“请求负载”和照片,它是空的..请给我们看看PHP代码。我敢打赌,您的问题将与
formdata
部分有关。这就是整个
表单
。不要使用JSON.stringify,只需将
FormData
对象直接传递到
data