You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AJAX提交FormData时一同传递blog_id变量?

问题解答

注释里的写法不可行。因为把FormData对象嵌套进普通JS对象后,结合你设置的contentType: false和processData: false,后端根本无法正确解析这份混合格式的数据。

正确的做法是直接用FormData的append方法,把blog_id追加到表单数据中,和图片文件的处理方式一致:

var blog_id = "<?php echo $blog_id; ?>";
let form_data = new FormData();
let img = $("#myImage")[0].files;

if(img.length > 0){
  form_data.append('my_image', img[0]);
  // 直接将blog_id追加到form_data里
  form_data.append('blog_id', blog_id);
  $.ajax({
    url: 'blog_img_upload.php',
    type: 'post',
    data: form_data,
    contentType: false,
    processData: false,
    success: function(res){
      const data = JSON.parse(res);
      if (data.error != 1) {
           let path = "../ui/images/blog_images/"+data.src;
           $("#preImg").attr("src", path);
           $("#preImg").fadeOut(1).fadeIn(1000);
           $("#myImage").val('');
      }else {
        $("#errorMs").text(data.em);
      }
      $('#img_main_show_div').load(location.href + " #img_main_show_div");
    }
  });
}

之后在blog_img_upload.php中,就可以通过$_POST['blog_id']获取到该值,配合$_FILES['my_image']完成后续处理。

内容的提问来源于stack exchange,提问作者Abhijit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:15:34