如何从Yii 1.1后端检索FormData值?

时间:2018-06-18 07:53:31

标签: json reactjs yii redux form-data

我正在这个平台中构建一个需要标题和文件的页面。我正在使用FormData。我已经像这样使用了另一个后端框架,我将一个字符串和一个文件附加到FormData

const data = new FormData();
data.append("title", this.state.title);
data.append("file", this.state.file[0]);

我正在使用Redux,因此这是与后端通信的操作:

export function createDownloadableForm(data) {
  return (dispatch, getState) => {
    const { auth: { oauthToken, oauthTokenSecret } } = getState();

    return dispatch({
      [CALL_API]: {
        endpoint: "/api/downloadable-forms",
        method: "POST",
        headers: {
          'xoauthtoken': oauthToken,
          'xoauthtokensecret': oauthTokenSecret,
        },
        body: data,
        types: [CREATE_DOWNLOADABLE_FORMS, CREATE_DOWNLOADABLE_FORMS_SUCCESS, CREATE_DOWNLOADABLE_FORMS_FAILURE]
      }
    })
  }
}

但现在我需要从后端访问这些信息。我怎么做,因为我发送的不是JSON?如何恢复FormData中的附加数据?

public function actionCreate()
{
    $request = \Yii::app()->request;
    // ?
}

我做了一些事情来检查发送的内容。一,

\Yii::log(json_encode($request));

将显示

  

{" jsonAsArray":真," enableCookieValidation":假," enableCsrfValidation":假," csrfTokenName":" YII_CSRF_TOKEN"" csrfCookie":空,"行为":[]}

使用getPost并传递字段名称也不起作用,它是nullgetRaw,以防万一显示其他内容,也不会显示任何内容。它就像没有被发送一样,但是发送FormData的代码,就像以前一样,在以前使用过并且有效。

0 个答案:

没有答案