首页 > 解决方案 > 使用表单数据发送输入及其值

问题描述

我有一个 RefId,我想通过发布请求将此 RefId 发送到一个 url(“https://bpm.shaparak.com”)。我有一个示例代码可以做到这一点。但是这个示例是用 php 编写的,我想在 NodeJS 中做类似的事情,但我不太了解 php。在 php 中发送这个 post 请求的示例代码是这样的:

<script language="javascript" type="text/javascript">    
    function postRefId (refIdValue) {
        var form = document.createElement("form");
        form.setAttribute("method", "POST");
        form.setAttribute("action", "https://bpm.shaparak.com");         
        form.setAttribute("target", "_self");
        var hiddenField = document.createElement("input");              
        hiddenField.setAttribute("name", "RefId");
        hiddenField.setAttribute("value", refIdValue);
        form.appendChild(hiddenField);

        document.body.appendChild(form);         
        form.submit();
        document.body.removeChild(form);
    }
</script>

并在代码中调用 postRefId:

if ($ResCode == "0") {
    echo "<script language='javascript' type='text/javascript'>postRefId('" . $res[1] . "');</script>";
} 

我在 NodeJs 中编写了上面的代码,如下所示:

postRefId(refIdValue){
  var bodyFormData = new FormData();
  bodyFormData.append('name', 'RefId');
  bodyFormData.append('RefId', refIdValue);

  axios({
    method: 'post',
    url: 'https://bpm.shaparak.com',
    data: bodyFormData,
    headers: {'Content-Type': 'text/javascript' }
    })
    .then(function (response) {
        console.log('postRefId success',response);
    })
    .catch(function (response) {
        console.log('postRefId error',response);
    });
}

但是当我调用这个方法时,我得到了来自“https://bpm.shaparak.com”的响应,即 RefId 为空。这意味着无法从我的表单中读取 RefId。我应该如何在 nodejs 中发送正确的表单?

标签: phpnode.jsform-data

解决方案


推荐阅读