Javascript 改变形式';方法';不';t工作,浏览器使';获取';要求

Javascript 改变形式';方法';不';t工作,浏览器使';获取';要求,javascript,jquery,Javascript,Jquery,我正在使用jquery创建一个简单的CRUD应用程序,通过JSON连接到FLASK后端。JSON查询工作正常。 我使用的HTML表单将“new”和“edit”加倍,因此我更改了“action”属性和“method”,以反映它是创建新记录还是编辑现有记录 这是表格 <div id="chardlg" class="easyui-dialog" title="Character" style="width:300px;padding:10px;" closed="true"> <f

我正在使用jquery创建一个简单的CRUD应用程序,通过JSON连接到FLASK后端。JSON查询工作正常。 我使用的HTML表单将“new”和“edit”加倍,因此我更改了“action”属性和“method”,以反映它是创建新记录还是编辑现有记录

这是表格

<div id="chardlg" class="easyui-dialog" title="Character" style="width:300px;padding:10px;" closed="true">
<form id="cf" enctype="multipart/form-data" name="cf">
    <table>
        <tr>
            <td>Name:</td>
            <td><input name="name" class="easyui-textbox"></td>
        </tr>
        <tr>
            <td>Short Name:</td>
            <td><input name="short_name" class="easyui-textbox"></td>
        </tr>
        <tr>
            <td>Description:</td>
            <td><input name="description" class="easyui-textbox"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="Submit"></td>
        </tr>
    </table>
</form>
进一步搞乱。。。 如果我在HTML ie中设置forms方法

<form id="cf" enctype="multipart/form-data" method='put' name="cf">

它仍然将其作为“获取”请求发送。唯一显式设置“get”的地方是在datagrid中,但是如果我删除该选项,datagrid默认为“POST”请求,并从FLASK后端获取400,因此将不会填充datagrid


似乎有什么东西正在覆盖/推翻“method”属性,因为其他所有内容都按预期运行。

经过大量研究,发现HTML表单只支持GET和POST,不支持PUT和DELETE。当这是构建REST请求的推荐方法时,非常令人沮丧。唷,至少不是我的代码错了。

你在哪里调用
newCharacter()
?请与我们分享你如何触发这些函数。为什么你要使用document.querySelector获取formI?我有一个列出所有字符的jquery数据网格。它通过REST检索这些内容,请参见上面的编辑。我使用document.querySelector作为jquery方法的替代方法,只是想看看这是否是jquery的问题。无论我使用哪种方法,我都会得到相同的结果。
$('#cg').datagrid({
    singleSelect:'true',
    url:charactersurl,
    method:'get',
    emptyMsg:'No Data available',
    toolbar:[{
        iconCls: 'icon-add',
        handler: function(){newCharacter()}
        },'-',{
        iconCls: 'icon-edit',
        handler: function(){editCharacter()}
        },'-',{
        iconCls: 'icon-remove',
        handler: function(){alert('Remove')}
    }],
    columns:[[
        {field:'name',title:'Name',width:100},
        {field:'short_name',title:'Short Name',width:100},
        {field:'description',title:'Description',width:120}
    ]]
});
<form id="cf" enctype="multipart/form-data" method='put' name="cf">