ds3016 2018-10-12 05:01 采纳率: 100%
浏览 140

没有来自php和Axios Node Js的响应输出

I want to send value from Node Express to php in server. The php script has a calculation then php should return the result back to Node Express.

But php script does not return any values. The following console echos Undefined

console.log(response.data.Final);  // Undefined
console.log(response.Final);        // Undefined
console.log(response.data.result);  // Undefined

console output of Node Js

Connected successfully to the database
{ status: 200,
  statusText: 'OK',
  headers:
   { date: 'Wed, 10 Oct 2018 14:28:19 GMT',
     server: 'Apache',
     'x-powered-by': 'PHP/7.2.10',
     'access-control-allow-headers': 'node-request, node-response, node-request, node-response',
     'access-control-allow-methods': 'PUT, GET, POST, DELETE, OPTIONS, PUT, GET, POST, DELETE, OPTIONS',
     'access-control-expose-headers': 'node-request, node-response, node-request, node-response',
     'access-control-allow-origin': '*, *',
     'content-length': '0',
     connection: 'close',
     'content-type': 'text/html; charset=UTF-8' },
  config:
   { adapter: [Function: httpAdapter],
     transformRequest: { '0': [Function: transformRequest] },
     transformResponse: { '0': [Function: transformResponse] },
     timeout: 0,
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     headers:
      { Accept: 'application/json, text/plain, */*',
        'Content-Type': 'application/json;charset=utf-8',
        'User-Agent': 'axios/0.18.0',
        'Content-Length': 2 },
     method: 'post',
     url: 'http://mytestpage.com/calculate/index.php',
     data: '{}' },
  request:
   ClientRequest {
     domain: null,
     _events:
      { socket: [Function],
        abort: [Function],
        aborted: [Function],
        error: [Function],
        timeout: [Function],
        prefinish: [Function: requestOnPrefinish] },
     _eventsCount: 6,
     _maxListeners: undefined,
     output: [],
     outputEncodings: [],
     outputCallbacks: [],
     outputSize: 0,
     writable: true,
     _last: true,
     upgrading: false,
     chunkedEncoding: false,
     shouldKeepAlive: false,
     useChunkedEncodingByDefault: true,
     sendDate: false,
     _removedConnection: false,
     _removedContLen: false,
     _removedTE: false,
     _contentLength: null,
     _hasBody: true,
     _trailer: '',
     finished: true,
     _headerSent: true,
     socket:
      Socket {
        connecting: false,
        _hadError: false,
        _handle: null,
        _parent: null,
        _host: 'mytestpage.com',
        _readableState: [Object],
        readable: false,
        domain: null,
        _events: [Object],
        _eventsCount: 8,
        _maxListeners: undefined,
        _writableState: [Object],
        writable: false,
        allowHalfOpen: false,
        _bytesDispatched: 221,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: null,
        _server: null,
        parser: null,
        _httpMessage: [Circular],
        _idleNext: null,
        _idlePrev: null,
        _idleTimeout: -1,
        [Symbol(asyncId)]: 132,
        [Symbol(bytesRead)]: 604 },
     connection:
      Socket {
        connecting: false,
        _hadError: false,
        _handle: null,
        _parent: null,
        _host: 'mytestpage.com',
        _readableState: [Object],
        readable: false,
        domain: null,
        _events: [Object],
        _eventsCount: 8,
        _maxListeners: undefined,
        _writableState: [Object],
        writable: false,
        allowHalfOpen: false,
        _bytesDispatched: 221,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: null,
        _server: null,
        parser: null,
        _httpMessage: [Circular],
        _idleNext: null,
        _idlePrev: null,
        _idleTimeout: -1,
        [Symbol(asyncId)]: 132,
        [Symbol(bytesRead)]: 604 },
     _header: 'POST /calculate/index.php HTTP/1.1
Accept: application/json, text/plain, */*
Content-Type: application/json;charset=utf-8
User-Agent: axios/0.18.0
Content-Length: 2
Host: mytestpage.com
Connection: close

',
     _onPendingData: [Function: noopPendingOutput],
     agent:
      Agent {
        domain: null,
        _events: [Object],
        _eventsCount: 1,
        _maxListeners: undefined,
        defaultPort: 80,
        protocol: 'http:',
        options: [Object],
        requests: {},
        sockets: [Object],
        freeSockets: {},
        keepAliveMsecs: 1000,
        keepAlive: false,
        maxSockets: Infinity,
        maxFreeSockets: 256 },
     socketPath: undefined,
     timeout: undefined,
     method: 'POST',
     path: '/calculate/index.php',
     _ended: true,
     res:
      IncomingMessage {
        _readableState: [Object],
        readable: false,
        domain: null,
        _events: [Object],
        _eventsCount: 3,
        _maxListeners: undefined,
        socket: [Object],
        connection: [Object],
        httpVersionMajor: 1,
        httpVersionMinor: 1,
        httpVersion: '1.1',
        complete: true,
        headers: [Object],
        rawHeaders: [Array],
        trailers: {},
        rawTrailers: [],
        upgrade: false,
        url: '',
        method: null,
        statusCode: 200,
        statusMessage: 'OK',
        client: [Object],
        _consuming: true,
        _dumped: false,
        req: [Circular],
        responseUrl: 'http://mytestpage.com/calculate/index.php',
        redirects: [],
        read: [Function] },
     aborted: undefined,
     timeoutCb: null,
     upgradeOrConnect: false,
     parser: null,
     maxHeadersCount: null,
     _redirectable:
      Writable {
        _writableState: [Object],
        writable: true,
        domain: null,
        _events: [Object],
        _eventsCount: 2,
        _maxListeners: undefined,
        _options: [Object],
        _redirectCount: 0,
        _redirects: [],
        _requestBodyLength: 2,
        _requestBodyBuffers: [],
        _onNativeResponse: [Function],
        _currentRequest: [Circular],
        _currentUrl: 'http://mytestpage.com/calculate/index.php' },
     [Symbol(outHeadersKey)]:
      { accept: [Array],
        'content-type': [Array],
        'user-agent': [Array],
        'content-length': [Array],
        host: [Array] } },
  data: '' }

php script

<?php
    if(isset($POST['takeFromNode']))
    {

    $num1 = 10;
    $num2 = $POST['takeFromNode'];          // getting from Node Js

    $result = ($num1 + $num2);     // This result should be return

    print(json_encode(['Final' => $result]));  // Code to return back
    exit();

    }    
?>

Node script

var axios = require('axios')

route.post("/calculate", function (req, res, next)
{
  axios.post('http://mytestpage.com/calculate/index.php', {takeFromNode: takeFromNode})
  .then(response => {
    if(response)
    {
      console.log(response);
    }
  })
  .catch(error => res.status(500).send(error));
})
  • 写回答

1条回答

  • dsfds2343 2018-10-15 05:55
    关注

    As Simon said, Axios using JSON

    Change the following

      axios.post('http://mytestpage.com/calculate/index.php', {takeFromNode: takeFromNode})
    

    to

      axios.post('http://mytestpage.com/calculate/index.php',require('querystring').stringify({takeFromNode: takeFromNode}))
    

    will work fine.

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料