我有以下表格:
<form method="post" action="http://domain.com/api.json?param=value"></form>
提交此表单后,我将使用http://domain.com/api.json
的回复替换我的文档。
是否可以发布此表单,但阻止接收回复,并使用form
保留现有HTML?
答案 0 :(得分:1)
发送HTTP 204无内容response,而不是通常的200 OK响应。
10.2.5 204无内容
服务器已完成请求但不需要返回 entity-body,可能想要返回更新的元信息。该 响应可能包括新的或更新的元信息形式 实体标题,如果存在,应该与...相关联 要求的变体。
如果客户端是用户代理,它不应该更改其文档视图 从导致请求发送的那个。这个回应是 主要是为了允许在没有的情况下进行动作的输入 但是,导致更改用户代理的活动文档视图 任何新的或更新的元信息应该应用于文档 目前在用户代理的活动视图中。
204响应绝不能包含消息体,因此总是如此 由标题字段后的第一个空行终止。
答案 1 :(得分:0)
您可以使用AJAX(本例中为XMLHttpRequest)提交帖子
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "http://domain.com/api.json?param=value", true);
xmlhttp.send(null);
事先,如果你需要。您可以获取您的参数值并对其进行编码:
var val = encodeURIComponent(document.getElementById("param").value);
然后第二行更像是:
xmlhttp.open("POST", "http://domain.com/api.json?param="+val, true);
否则,从form
提交的任何类型都会加载页面。黑客就是把它放在隐藏的iframe中,只需在完成后删除iframe。