jQuery POST不使用IE 11提交表单值

我已经尝试了几个小时找到这个问题的解决方案,但以下代码根本不适用于Internet Explorer 11.它适用于Chrome和Firefox。 使用IE11时,提交post但提交的表格为空。

       
Create
$(function () { $("#md-submit").on("click", function (e) { e.preventDefault(); var form = $("#mandateForm"); var request = $.ajax({ type: "POST", url: form.attr("action"), data: { mandateName: "test4711" }, dataType: 'json', cache: false }); }); });

非常感谢您的帮助。

在jquery中,表格序列化存在一些问题。 我通常使用这个插件: http : //jquery.malsup.com/form/#api

这似乎是解决问题的最简单方法。 但它远非最干净的方式。 您可以尝试的另一件事是:让服务器监听json requestdata。 并将其序列化为json字符串。 或者自己制作序列化function。 这就像3行代码。

不要担心你尝试用serialization()方法发送数据我希望你的问题可以解决试试这个。

        
Create

serialize()方法不会将表单数据转换为Json …

这应该工作 – IE11中的输出将是{"ExternalId":"","mandateName":"4343"}

        
Create

我得到了同样的问题,但我通过将其添加到head标签中解决了这个问题

  

今天我们在IE11中遇到了同样的问题。 我发现这对我有用:

 $.ajax({ type: "POST", url: "./index.php", data: { name: "John", time: "2pm" }, cache: false, success: function(data){ $.ajax({ type: "POST", url: "./index.php", data: { name: "John", time: "2pm" }, cache: false }); }}); 

我发现在IE11上激活“增强保护模式”可以解决这个问题。

Internet Options --> Advanced Options --> Enable Enhanced Protected Mode

之后,重新启动浏览器并发送POST数据。