踩坑: form-urlencoded

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了踩坑: form-urlencoded相关的知识,希望对你有一定的参考价值。

参考技术A 今天踩了一个坑, form-urlencoded发送来数组, 如果数组中有多个字符串, express这边解析到的是正常的数组; 但是如果数组中只有一个字符串, express这边解析得到的就单纯是字符串了.

我发现form-urlencoded会将 key: ['123'] 转化成 key=123 , 这样express解析就变成了 key: '123' .
而对于 key:['123', '321'] , 会转化为 key=123&key=321 , 这样express解析为 key: ['123', '321']
这种不一致性导致了bug.

javascript 简单的AJAX js数据发送; form-urlencoded格式

        handleNewFormSubmit: function(e) {
            e.preventDefault();
            var $form = $(e.currentTarget);
            var formData = {};
            $.each($form.serializeArray(), function(key, fieldData) {
                formData[fieldData.name] = fieldData.value
            });
            $.ajax({
                url: $form.data('url'),
                method: 'POST',
                data: JSON.stringify(formData),
                success: function(data) {
                    // todo
                    console.log('success!');
                },
                error: function(jqXHR) {
                    // todo
                    console.log('error :(');
                }
            });
        }

以上是关于踩坑: form-urlencoded的主要内容,如果未能解决你的问题,请参考以下文章

Echarts 踩坑

正确使用@Async,避免踩坑

Flutter踩坑之旅

小程序踩坑之旅

PowerMockRule踩坑

nvue踩坑1+nvue踩坑2+nvue踩坑nvue开发经验思维导图+nvue开发就像做SEO,细节很多