【问题标题】:Cannot get angularjs http request message data at node.js无法在 node.js 获取 angularjs http 请求消息数据
【发布时间】:2018-06-25 11:31:42
【问题描述】:

客户端代码sn-p:

$http({
  method: 'GET',
  url: '/admin?operation=getAdminInfo',
  data: {data: 'test'}
}).then(function(rsp){...});

服务器端代码sn -p:

console.log('req = ' + req);
console.log('req.header = ' + JSON.stringify(req.header));
console.log('req.query = ' + JSON.stringify(req.query));
console.log('req.body = ' + JSON.stringify(req.body));
console.log('req.cookies = ' + JSON.stringify(req.cookies));
console.log('req.params = ' + JSON.stringify(req.params));
console.log('req.xhr = ' + JSON.stringify(req.xhr));

服务器控制台中的输出:

req = [object Object]
req.header = undefined
req.query = {"operation":"getAdminInfo"}
req.body = {}
req.cookies = {"token":"eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzeXN0ZW0iLCJpc3MiOiJodHRwczovL3d3dy5uZXRhb3RlYy5jb20iLCJpYXQiOjE1MTYwNjM1Njk1MDQsInVzZXJfcm9sZSI6MSwidXNlcm5hbWUiOiJzeXN0ZW0iLCJleHAiOjE1MTYwNjM1NzY3MDR9.K2Rh4WTNtkhP2gxWLnGW7846zMKaW-WKEF2hykJmvn3zNmGyIDprrnswzqqrpmAvNTP8gylnCn3b7K_gRJ-WOif7MnQYiG4mu8fNGW-hCUQeTyqzUgsP9sIXzm_A3pWFlW8eL88Dydugf9JhhDeB18QUJV-i4zT6bCfE3stY1QXJZzNsKd8HRl22n78XCb5XRxdiEnmhqF6sNb9h40jKzcd6Ny0KX6uEe1SE54OYbp_BcR4Lr69C6tcFNgwtiJusFEymnMcbkqSst_GUztiObPeYZIwrfEUMEobUsxvx0v2zUQp9EJDF-MyaGid5kJwyv_ittFFKRChBSllI3luNXA"}
req.params = {}
req.xhr = false

如何在 node.js 中提取/获取数据 {data: 'test'}? AngularJS 版本是 1.6.6; Node.js 版本为 v8.1.4; node.js 处的 app.js:enter link description here

【问题讨论】:

  • @Sajeetharan,不,不。你看看我的输出,我无法在 node.js 中获取数据。在 angularjs 方面,我严格遵循angularjs document 的指示。在文档中它显示data – {string|Object} – Data to be sent as the request message data.
  • 这是一样的!如果您将数据作为 ajson 发送,则需要对数据进行标记,也可以将 http.post 与 angularjs 一起使用
  • 我将配置更改为data: JSON.stringify({data: 'test'}) 并得到相同的结果。另外,在 angularjs 文档中,有一个使用代码 data: { test: 'test' } 的示例。
  • 兄弟检查重复标记的问题,您还需要检查标题
  • 将配置 method: 'GET' 更改为 method: 'POST' 在 req.body 中获取结果。谢谢你。但这与您提到的线程并不重复—— JSON.stringify 在这里没有帮助。

标签: javascript angularjs node.js xmlhttprequest


【解决方案1】:

将方法从 Get 更改为 Post,因为您正在向服务器发送对象。

$http({
  method: 'POST',
  url: '/admin?operation=getAdminInfo',
  data: {data: 'test'}
}).then(function(rsp){...});

【讨论】:

    猜你喜欢
    • 2014-05-19
    • 2023-03-24
    • 2019-09-12
    • 1970-01-01
    • 2016-03-05
    • 2018-10-17
    • 2018-01-22
    相关资源
    最近更新 更多