将JSON数据和文件POST到PHP后端

时间:2016-11-29 10:59:36

标签: javascript php json ajax wordpress

我已经构建了这个自定义表单,用户可以点击按钮来配置自己的产品。然后将这些数据与AJAX一起发送到我的PHP后端(Wordpress),在后端处理并存储在数据库中。我也希望允许用户上传文件,但是如何将此文件和我现在使用相同POST请求的JSON数据发送到后端?

configurationData是一个存储所选组件的数组。 detailsFormData包含相同格式的名称,电子邮件等。

处理AJAX请求的Javascript:

$.post(
    stac.ajax_url, {
      'action': 'add_configuration',
      'nonce': stac.nonce,
      'configurationData': configurationData,
      'detailsFormData': detailsFormData,
    },
    function( response ) {
      if( response.success ) {
        // do some fancy things
      } else {
        // more stuff
      }
    }
  );

这很好用,但显然它不允许用户上传文件。我已经尝试了一堆教程,但那些只允许文件上传,没有别的,所以没有json数据。还尝试了var formData = new FormData(this);的一些内容并添加了一些设置(processData: falsecontentType: falsecache: false),但发布了一个javascript对象,我不知道如何在后端处理它。

编辑:我已经看过这些链接,但他们没有解释我如何将其添加到正在发送的数据中: 'action': 'add_configuration', 'nonce': stac.nonce, 'configurationData': configurationData, 'detailsFormData': detailsFormData,

EDIT2:可以像添加formData一样附加它们。现在应该工作,但是还没有在后端处理它。

0 个答案:

没有答案