如何在不更改URL的情况下使用HTTP方法POST
How to use HTTP method POST without changing URL?
使用HTTP方法POST发送表单是很常见的。
例如,如果表单操作是"/login",
请求将发送到服务器,URL将类似于"index/login"。
然而,我想实现两件事。
-
使用不带"表单"的HTTP方法POST。我想发我自己的信息。
-
并且在AJAX 之后不更改URL
谢谢。
更新:回复DvS
我研究过的研究使用了像jQuery或AngularJS这样的库。
但我想用纯javascript实现。(如XMLHTTPRequest)
我不知道如何在AJAX中使用"NOT A FORM"。
也许有一些参考资料我可以研究一下?
再次感谢。
尝试jQuery的AJAX调用
http://api.jquery.com/jquery.ajax/
$("#id_of_button_to_submit").click(function(){
$.ajax({url: "/login", success: function(result){
//do things with your result
$("#div1").html(result);
}});
});
我在"您可能需要jQuery"中找到了答案
var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// Success!
var resp = request.responseText;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();
服务器端由Node.js和express 实现
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.post('/newindex', function(req, res){
console.log("req received!");
res.send('This is POST METHOD');
})
app.listen(8888);
旧帖子,但我遇到了这个问题,它进入了我的搜索结果,我怀疑原因是一样的。
基本上不使用表单操作和提交按钮。然后使用常规按钮或其他任何您想要的按钮来调用该函数。
看起来像是提交按钮的默认表单行为,但没有操作的是HTTPGET到当前页面,它会运行,当然会把一切都搞砸。
相关文章:
- 在我的情况下,如何进行http请求
- 如何在不检查HTTP标头的情况下检测移动浏览器
- angular2在不重新加载的情况下使用Observable(Http)
- 在不使用任何http、https或ftp的情况下验证URL
- 在不执行ajax请求的情况下,使用jQuery读取HTTP标头以检查404
- 如何在不更改URL的情况下使用HTTP方法POST
- 如何在Angular中设置异步HTTP服务的回调,以便在不定义数组的情况下在控制器中填充数组
- 如何在不发出 HTTP 请求的情况下检测 SQL 数据库中的更改
- 如何在没有打字稿的情况下在 Angular 2 中注入 Http
- D3 JS - 在没有 HTTP Get 的情况下加载 JSON
- 为什么在未读取响应的情况下,节点http客户端仍在运行
- 有没有一种方法可以在没有服务器端语言的情况下完成http头请求并获得时间
- 如何让WebAPI在不使用C#属性的情况下接受一个复杂对象作为DELETE HTTP谓词的参数
- Meteor-如何在不丢失上下文的情况下重试失败的HTTP请求
- 在我的情况下,如何发出多个http请求
- 如何在没有HTTP的情况下读取JSON文件获取Angular JS
- 在不进行HTTP调用的情况下更新Ember Data中的特定记录
- 默认情况下,大多数http请求是同步的吗?
- 在没有外部库的情况下,在Node中处理多个异步http请求的正确方法是什么?
- 如何在没有jQuery的情况下使用$http发布url编码的表单数据