javascript - 如何将PHP的curl命令转换为JS

标签 javascript php http

我正在尝试对一些 php 代码进行逆向工程,然后在 JS 中运行它。 php代码如下:

$fields_string = '';
    //url-ify the data for the POST
    foreach($data as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string, '&');

    //open connection
    $ch = curl_init();

    //set the url, number of POST vars, POST data
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_POST, true);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

    //execute post
    $result = curl_exec($ch);

    //decode result;
    $data = json_decode($result, TRUE);
    //close connection
    curl_close($ch);
    return $data;

我正在 JS 中使用 axios,目前正在尝试以下操作:

const response: any = await axios.post(base_url, 'key1=value1&key2=value2', {
        headers: {
            'Content-Type': "multipart/form-data"
        }
    });

但我似乎遇到了问题,因为服务器无法正确解析正文。我想知道是否有人对它应该是什么样子有任何提示?

最佳答案

为了使用 axios 发送表单数据,您应该将 FormData obj 作为数据传递,它将更改为正确的 header 。

const formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');

const response = await axios.post(base_url, formData);

关于javascript - 如何将PHP的curl命令转换为JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61043880/

相关文章:

javascript - Node : How to enable non strict or ECMASCRIPT3 in V8 engine?

php - 如何将 ascii/7bit 电子邮件转换为 utf8?

javascript - 通过 Javascript 的 location.reload(true) 传递变量

http - REST、HTTP DELETE 和参数

python - 如何在 Python 中捕获特定的 HTTP 错误?

javascript - jquery克隆拖拽

javascript - amCharts - 如何使用非英语日历?

java - Android (PhoneGap) - 从推送通知中按钮的点击事件发送 HTTP 请求

javascript - 单击加载 Bootstrap 药丸内容

php - sqlsrv_num_rows 不返回任何值