来自wp_handle_upload的输入响应意外结束

时间:2014-05-13 16:07:21

标签: javascript php jquery ajax

通过ajax上传的文件没问题,但是当json编码的数组返回到ajax时,我在尝试解析时遇到此错误:

  

未捕获的SyntaxError:意外的输入结束

客户端脚本

jQuery(".target-input").change(function() {
  var formData = new FormData();
  formData.append("file", this.files[0]);
  jQuery.ajax({
    url: "../wp-content/plugins/site_bannermanager/site_ajax_server_add.php",
    file: formData
  }).done(function(response) {
    console.log(JSON.parse(response));
  });
});

site_ajax_server_add.php

foreach ($_FILES as $key => $data) {
  exit(json_encode(wp_handle_upload($data)));
}

1 个答案:

答案 0 :(得分:1)

jQuery(".target-input").change(function () {
  var formData = new FormData();
  formData.append("file", this.files[0]);
  jQuery.ajax({
    url: "../wp-content/plugins/site_bannermanager/site_ajax_server_add.php",
    file: formData,
    success: function(response) {
      console.log(JSON.parse(response));
    }
  });
});

应该做的伎俩。看起来你忘了你的一些结束括号。我也使成功功能更好一些(但如果你愿意,你可以改回来,我只是认为它使它更具可读性。