Javascript 为什么我会得到;获得;从IE11.0客户端发布数据时的方法信息?
我在Android应用程序中使用NanoHTTPD作为web服务器,我使用客户端中的函数Javascript 为什么我会得到;获得;从IE11.0客户端发布数据时的方法信息?,javascript,android,jquery,html,nanohttpd,Javascript,Android,Jquery,Html,Nanohttpd,我在Android应用程序中使用NanoHTTPD作为web服务器,我使用客户端中的函数SubmitCheckedItemsForm()提交一些日期 在web服务器客户端,当我在FireFox和Chrome中访问代码时,我可以接收“POST”方法信息, 但是当我在IE 11.0中访问代码时,我会收到“GET”方法信息?为什么? 服务器代码 @Override public Response serve(IHTTPSession session) { String uri = session.
SubmitCheckedItemsForm()
提交一些日期
在web服务器客户端,当我在FireFox和Chrome中访问代码时,我可以接收“POST”方法信息,
但是当我在IE 11.0中访问代码时,我会收到“GET”方法信息?为什么?
服务器代码
@Override
public Response serve(IHTTPSession session) {
String uri = session.getUri();
Method method = session.getMethod();
Utility.LogError("Method: "+method);
}
HTML
<form action="" method='post' enctype='multipart/form-data' id="FormForAction">
</form>
JS
function SubmitCheckedItemsForm(action) {
var mytemp = GetArrayOfCheckedItems();
var formID = "#FormForAction";
$(formID).unbind("submit");
alert(mytemp);
$(formID).submit(function (eventObj) {
$(formID).empty();
$('<input />').attr('type', 'hidden')
.attr('name', action)
.attr('value', JSON.stringify(mytemp))
.appendTo(formID);
});
$(".FilenameCheckboxForSelect").prop("checked", false);
$(formID).submit();
}
function SubmitCheckedItemsForm(action) {
var mytemp = GetArrayOfCheckedItems();
var formID = "#FormForAction";
$(formID).unbind("submit");
alert(mytemp);
$(formID).submit(function (eventObj) {
$(formID).empty();
$('<input />').attr('type', 'hidden')
.attr('name', action)
.attr('value', JSON.stringify(mytemp))
.appendTo(formID);
$('<div>Body</div>').appendTo(formID);
});
$(".FilenameCheckboxForSelect").prop("checked", false);
$(formID).submit();
}
函数SubmitCheckedItemsForm(操作){
var mytemp=GetArrayOfCheckedItems();
变量formID=“#FormForAction”;
$(formID)。解除绑定(“提交”);
警报(mytemp);
$(formID).submit(函数(eventObj){
$(formID).empty();
$('').attr('类型','隐藏')
.attr('name',action)
.attr('value',JSON.stringify(mytemp))
.附录(formID);
});
$(.FilenameCheckboxForSelect”).prop(“选中”,false);
$(formID.submit();
}
修改的JS
function SubmitCheckedItemsForm(action) {
var mytemp = GetArrayOfCheckedItems();
var formID = "#FormForAction";
$(formID).unbind("submit");
alert(mytemp);
$(formID).submit(function (eventObj) {
$(formID).empty();
$('<input />').attr('type', 'hidden')
.attr('name', action)
.attr('value', JSON.stringify(mytemp))
.appendTo(formID);
});
$(".FilenameCheckboxForSelect").prop("checked", false);
$(formID).submit();
}
function SubmitCheckedItemsForm(action) {
var mytemp = GetArrayOfCheckedItems();
var formID = "#FormForAction";
$(formID).unbind("submit");
alert(mytemp);
$(formID).submit(function (eventObj) {
$(formID).empty();
$('<input />').attr('type', 'hidden')
.attr('name', action)
.attr('value', JSON.stringify(mytemp))
.appendTo(formID);
$('<div>Body</div>').appendTo(formID);
});
$(".FilenameCheckboxForSelect").prop("checked", false);
$(formID).submit();
}
函数SubmitCheckedItemsForm(操作){
var mytemp=GetArrayOfCheckedItems();
变量formID=“#FormForAction”;
$(formID)。解除绑定(“提交”);
警报(mytemp);
$(formID).submit(函数(eventObj){
$(formID).empty();
$('').attr('类型','隐藏')
.attr('name',action)
.attr('value',JSON.stringify(mytemp))
.附录(formID);
$('Body')。附录(formID);
});
$(.FilenameCheckboxForSelect”).prop(“选中”,false);
$(formID.submit();
}
我终于发现了这一点。当您在Internet Explorer 11中使用浏览器发送HTTP POST请求时。如果发送HTTP POST请求时没有消息体,则使用GET方法。这是一个浏览器问题。您也可以在Microsoft支持页面上查看它。这里:这不是你的代码问题,而是浏览器的问题。如果您想尝试,可以尝试以下方法:
IE中有一个启用/禁用受保护模式的选项,默认情况下,“Internet”区域和“本地Intranet”区域(或其中任何一个区域)会启用此选项。在这两个位置禁用可能会解决此问题
工具->互联网选项->安全->互联网/本地Intranet->取消选中“启用受保护模式”选项。
如果能解决问题,就试试这个
示例代码:
<form action="your_action_page" method="post" enctype='multipart/form-data' id="FormForAction">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
名字:
姓氏:
您能分享结果的快照吗?谢谢!对于Astha Srivastava:我使用Utility.LogError(“Method:+Method”)获取结果我确信我在IE 11.0中获得了“get”方法,在Firefox和ChromeThanks中都获得了“POST”方法!我可以在我的代码中添加一些消息体来解决这个问题吗?谢谢!但在我的javascript代码中添加$('Body').appendTo(formID)之后,我仍然得到了“get”方法。你可以在我的ASKHow上查看我可以添加“消息体”吗?不幸的是,我在添加代码姓氏后仍然得到“get”方法:看来JSON.stringify()在IE 11.0中不能很好地工作