如何在不更改URL的情况下使用HTTP方法POST?

时间:2016-04-13 13:49:55

标签: javascript ajax http post

通常使用HTTP方法POST来发送表单。

例如,如果表单操作是“/ login”,

请求将发送到服务器,URL将类似于“index / login”。

但是,我想实现两件事。

  1. 使用没有“表单”的HTTP方法POST。我想发送自己的信息。

  2. 并且在AJAX

  3. 之后不更改URL

    感谢。

    更新:回复DvS

    我研究过的研究使用的是像jQuery或AngularJS这样的库。

    但我想通过纯javascript实现。(比如XMLHTTPRequest)

    我不知道如何在AJAX中使用“NOT A FORM”。

    也许我可以学习一些参考资料?

    再次感谢。

3 个答案:

答案 0 :(得分:0)

尝试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);
     }});
 });

答案 1 :(得分:0)

我在&#34中找到了答案;您可能需要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实现并表达

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);

答案 2 :(得分:-1)

旧帖子,但是我遇到了这个问题,它进入了我的搜索结果,我怀疑原因是相同的。

基本上不使用表单操作和提交按钮。 然后使用常规按钮或您想要的其他任何功能调用该函数。

似乎像“提交”按钮的默认表单行为,但是没有任何动作,是对当前页面的HTTP GET,该页面可以运行,并且当然会掩盖一切。