首页 > 解决方案 > 使用序列化发送 AJAX POST 请求而无需任何表单输入

问题描述

我使用以下代码发送 ajax 请求:

var frm = $(this);

    e.preventDefault();

    $.ajax({
        type: frm.attr('method'),
        url: '/section/' + frm.attr('action'),
        data: frm.serialize(),
        success: function (data) {
           CloseModal('', '1');
           LoadModalBody(data);
        },
        error: function (data) {
            console.log('An error occurred.');
            console.log(data);
        },
    });

所以它可以拾取所有表单输入,但有时我会发送一个没有表单输入的请求。

我怎样才能仍然获得发送的帖子请求

标签: jqueryajax

解决方案


只需使用带有键值对的对象代替data: frm.serialize(),

例如

data:{
   'my-key' : 'my-value',
   'another-key' : 'another-value'
},

编辑

此外,如果没有表单,您将需要显式设置方法:

type:'POST',

推荐阅读