GVKun编程网logo

如何从Express.js发送Post请求到另一个服务器(Java)?(js如何post传参数给后端)

16

如果您想了解如何从Express.js发送Post请求到另一个服务器的相关知识,那么本文是一篇不可错过的文章,我们将对Java?进行全面详尽的解释,并且为您提供关于ajax发送post请求到contr

如果您想了解如何从Express.js发送Post请求到另一个服务器的相关知识,那么本文是一篇不可错过的文章,我们将对Java?进行全面详尽的解释,并且为您提供关于ajax发送post请求到controller、axios发送post请求springMVC无法接受参数如何处理、axios发送post请求提交图片表单步骤详解、axios发送post请求时出现跨域报错的有价值的信息。

本文目录一览:

如何从Express.js发送Post请求到另一个服务器(Java)?(js如何post传参数给后端)

如何从Express.js发送Post请求到另一个服务器(Java)?(js如何post传参数给后端)

我必须将数据(json对象)发送到另一个Web服务器(java)。

这是我的node.js代码

var express = require(''express'');var app = express();app.get(''/'', function (req, res) {    var data = querystring.stringify({        username: "myname",        password: " pass"    });    var options = {        host: ''www.javaserver.com'',        port: 8070,        path: ''/login'',        method: ''POST'',        headers: {            ''Content-Type'': ''application/x-www-form-urlencoded'',            ''Content-Length'': Buffer.byteLength(data)        }    };    var req = http.request(options, function (res) {        res.setEncoding(''utf8'');        res.on(''data'', function (chunk) {            console.log("body: " + chunk);        });    });    req.write(data);    req.end();});app.listen(8090);

这是行不通的。我怎样才能做到这一点?

答案1

小编典典

您正在重复请求,并为发布请求重新分配变量。我已经更新了您的代码并与requestb.in一起对其进行了测试

var express = require(''express'');var querystring = require(''querystring'');var http = require(''http'');var app = express();app.get(''/'', function (req, res) {  var data = querystring.stringify({    username: "myname",    password: " pass"  });  var options = {    host: ''requestb.in'',    port: 80,    path: ''/nfue7rnf'',    method: ''POST'',    headers: {      ''Content-Type'': ''application/x-www-form-urlencoded'',      ''Content-Length'': Buffer.byteLength(data)    }  };  var httpreq = http.request(options, function (response) {    response.setEncoding(''utf8'');    response.on(''data'', function (chunk) {      console.log("body: " + chunk);    });    response.on(''end'', function() {      res.send(''ok'');    })  });  httpreq.write(data);  httpreq.end();});app.listen(8090);

请将请求主机和代码中的路径更新为所需的值。让我知道它是否仍然对您不起作用。

ajax发送post请求到controller

ajax发送post请求到controller

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <Meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="${pageContext.request.contextpath }/book/list" rel="external nofollow" >查询书单</a> <table width="70%" border=1> <tr> <td>书籍编号</td> <td>名称</td> <td>藏书量</td> <td>操作</td> </tr> <c:forEach items="${list}" var="book"> <tr> <td>${book.bookId }</td> <td>${book.name }</td> <td id=${book.bookId }>${book.number }</td> <td><input type="buttom" value="订阅" onclick="requestByJson(${book.bookId })"></td> </tr> </c:forEach> </body> <script src="${pageContext.request.contextpath }/resources/js/jquery-3.2.1.js" type="text/javascript"></script> <script type="text/javascript"> function requestByJson(bid) { //alert(bid); var stid=12345678915; var p = {'studentId':stid}; $.ajax({ type : 'post',url : "${pageContext.request.contextpath }/book/"+bid+"/appoint",//设置contentType类型为json //contentType : 'application/json;charset=utf-8',//错误写法 contentType : 'application/x-www-form-urlencoded; charset=UTF-8',//缺省值 //json数据 data: {'bookId':1004,'studentId':stid},//必传参数必须填写,位置任意。增加参数,不影响执行 dataType: "json",//告诉服务器期待返回何种类型的数据 //请求成功后的回调函数 success : function(data) { //alert(JSON.stringify(data)); var res = JSON.stringify(data); var res2 = eval("("+res+")");//转换成json对象 alert(res2.data["stateInfo"]);//提示预约结果 if(res2.data["state"]==1){//预约成功需要更新库存数 var book = JSON.stringify(res2.data["appointment"]); var appointment = eval("("+book+")"); $('td[id='+bid+']').html(appointment.book["number"]); } } }); } </script> </html>

请求成功后,对库存量进行更新显示。

使用到,jQuery选择器,JSON格式数据在js中如何由string成json对象。json对象可以在js中通过

1).号来得到某个属性的值。2)a[数字] 可以用索引方式获取某个属性的值 3)a[属性名] 可以通过属性名得到对应值。

axios发送post请求springMVC无法接受参数如何处理

axios发送post请求springMVC无法接受参数如何处理

这次给大家带来axios发送post请求springMVC无法接受参数如何处理,解决axios发送post请求springMVC无法接受参数的注意事项有哪些,下面就是实战案例,一起来看一下。

解决方法有以下三种:

1、设置axios的默认请求头

//设置全局的
axios.defaults.headers.post[''Content-Type''] = ''application/x-www-form-urlencoded'';
var instance = axios.create({}) // 这样创建出来的 只需要:
instance.defaults.headers.post[''Content-Type''] = ''application/x-www-form-urlencoded'';
登录后复制

2、使用URLSearchParams来构建参数

var params = new URLSearchParams();
params.append("username", _this.username);
params.append("password", _this.password);
axios.post("/service/login", paramsOfJson
   ).then(function (response) {
    console.log(response);
   }).catch(function (error) {
    console.log(error);
   })
登录后复制

3、后台使用@requestBody接收

@PostMapping(value = "/login")
public String testLogin(@RequestBody Map dataMap)
登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

node.js怎么通过axios实现网络请求

axios发送请求时springmvc无法接受参数

以上就是axios发送post请求springMVC无法接受参数如何处理的详细内容,更多请关注php中文网其它相关文章!

axios发送post请求提交图片表单步骤详解

axios发送post请求提交图片表单步骤详解

这次给大家带来axios发送post请求提交图片表单步骤详解,axios发送post请求提交图片表单的注意事项有哪些,下面就是实战案例,一起来看一下。

DOME

<input>
登录后复制

接口

const userUploadAtt = (File,config) =&gt; axios.post("接口",File,config)
登录后复制

处理数据

let input = this.$refs.upload 
创建一个空的FormData对象 
let data = new FormData();
使用FormData.append来添加键/值对到表单里面;
data.append(''file'', input.files[0]);
upload(){
 userUploadAtt(data,{headers: {''Content-Type'': ''multipart/form-data''}}).then((response)=&gt;{
  this.headPhoto = response.data[0].msg.url;
 }).catch(()=&gt;{
 })
}
登录后复制

注意:

如果

axios.defaults.headers.post[''Content-Type''] = ''application/x-www-form-urlencoded;charset=UTF-8''
post请求时候表单上传不需要引入qs.stringify()
登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

在vue里使用axios步骤详解

axios+post方法提交formdata步骤详解

以上就是axios发送post请求提交图片表单步骤详解的详细内容,更多请关注php中文网其它相关文章!

axios发送post请求时出现跨域报错

axios发送post请求时出现跨域报错

报错问题

今天在写项目的时候,拿到后端给的的接口,发送请求时却发现报错,但是后端代码中是设置了跨域的:

header("Access-Control-Allow-Origin:*");

看一下报错问题:

Access to XMLHttpRequest at '''' from origin '''' has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.

通过报错我们可以看到是请求头不被允许,查阅之后了解到大部分服务器能够识别的请求头为application/x-www-form-urlencoded,而我们axios的post请求的请求头是application/json,所以我们需要对它进行转换。

在页面中引入第三方库qs

安装
npm install qs

在当前页面中引入
import Qs from ''qs''

在axios请求中使用

报错代码:

this.$axios
    .post("url",
          {
            appName: that.name,
            appType: that.type1
          }
        )
        .then(function(response) {
          console.log(response);
        });

加入Qs库之后:

this.$axios
    .post("url",
          Qs.stringify({
            appName: that.name,
            appType: that.type1
          })
        )
        .then(function(response) {
          console.log(response);
        });

然后我们再进行请求就可以拿到数据啦。

我们今天的关于如何从Express.js发送Post请求到另一个服务器Java?的分享已经告一段落,感谢您的关注,如果您想了解更多关于ajax发送post请求到controller、axios发送post请求springMVC无法接受参数如何处理、axios发送post请求提交图片表单步骤详解、axios发送post请求时出现跨域报错的相关信息,请在本站查询。

本文标签: