使用React / redux和Express将客户端参数传递到服务器端(EMPTY_RESPONSE错误)

西蒙·布雷顿

我想通过react / redux和express将变量从客户端传递到服务器端。在下面的示例中,我尝试传递该VIEW_ID值以进行Google Analytics(分析)API调用。我一直在尝试遵循此处给出的一些示例当启动我的应用程序并等待几分钟后,出现以下错误:

GET http://localhost:3000/gadata net::ERR_EMPTY_RESPONSE
dispatchXhrRequest @ bundle.js:34151xhrAdapter @ bundle.js:34003
bundle.js:31131  action @ 15:29:48.843 undefined 

我想我在Google Analytics(分析)API回调中遗漏了一些东西。

这是我VIEW_IDaxios.get方法中将第二个参数传递给我的动作

export const fetchgadata = () => (dispatch) => {
    dispatch({
        type: 'FETCH_DATA_REQUEST',
        isFetching:true,
        error:null
  });

var VIEW_ID = "ga:802840947";

return axios.get("http://localhost:3000/gadata", VIEW_ID)
    .then(response => {
      dispatch({
            type: 'FETCH_DATA_SUCCESS',
            isFetching: false,
            data: response.data.rows.map( ([x, y]) => ({ x, y }) )
      });
    })
    .catch(err => {
      dispatch({
            ype: 'FETCH_DATA_FAILURE',
            isFetching:false,
            error:err
      });
      console.error("Failure: ", err);
    });
};

这是我服务器文件中的API调用:

app.use('/gadata', function(req, res, next) {

var VIEW_ID = req.query.VIEW_ID; 

var key = require('./client_id.json');

var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, ['https://www.googleapis.com/auth/analytics.readonly'], null);

var authorize = function( cb ) {
  jwtClient.authorize(function(err) {
    if (err) {
      console.log(err);
      return;
    } else {
      if ( typeof cb === "function") {
        cb();
      }
    }
  });
}
var queryData = function(req, res) {
  authorize(function() {
    analytics.data.ga.get({
      'auth': jwtClient,
      'ids': VIEW_ID,
      'metrics': 'ga:uniquePageviews',
      'dimensions': 'ga:pagePath',
      'start-date': '30daysAgo',
      'end-date': 'yesterday',
      'sort': '-ga:uniquePageviews',
      'max-results': 10,
    }, function (err, response) {
      if (err) {
        console.log(err);
        return;
      }
      res.send(response);
    }); 
  });
}
});
阿迪特

CMIIW,我不认为这是您通过axios传递查询字符串的方式。尝试这样的事情(您可以在此处查看axios文档,https://github.com/mzabriskie/axios

axios.get(url, {params: {VIEW_ID: VIEW_ID}})
//or this
axios.get(url + '?VIEW_ID=' + VIEW_ID)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

客户端路由(使用react-router)和服务器端路由

客户端路由(使用react-router)和服务器端路由

React登录页面(客户端)和Spring Boot /安全性(服务器端)

如何在逻辑上结合react-router和redux进行客户端和服务器端渲染

使用Flask将JSON数据从服务器传递到客户端

使用内容安全策略将服务器数据传递到客户端脚本

从服务器端到客户端的React_Display图像

使用React / Redux进行服务器端渲染,将URL参数传递给loadData

在服务器端的IIS和客户端的Angular 4上使用PHP时发生CORS错误

如何使用jquery ajax和node js在快速框架中将数据从客户端传递到服务器?

如何在服务器端从express / mongo / mongoose中的URL获取参数ID,在客户端实现axios / react / redux中的URL

如何与使用从客户端传递到服务器的参数用于ActionCable的通道保持连接?

React是使用服务器端渲染还是客户端渲染?

使用nodejs + express处理服务器端和客户端错误的最佳方法是什么

从服务器端生成的Firestore模拟器获取客户端React App

为什么在服务器端和客户端同时调用recv和发送功能时使用客户端的文件描述符?

将Channels与SignalR服务器到客户端流一起使用时,是否可以保证将服务器端Complete交付给客户端?

使用node.js + socket.io + express / ejs将数据从客户端传递到服务器

如何使用Express 4.0将一些文本从客户端传递回服务器端?

Delphi EMS FireDAC:如何使用EMS将参数从客户端传递到服务器?

使用React-Engine和Express到客户端的服务器端变量

使用WiFi Direct在客户端和服务器端发送和接收字符串

如何将数据从服务器端 (Express.js) 发送到客户端 (React.js)?

将变量从服务器端控制器传递到客户端以在客户端 JavaScript 中使用

NodeJS - 使用 ajax 将数组从客户端传递到服务器

如何将 JSON 数据从服务器传递到客户端并在 Javascript 中使用数据?

如何使用 Ajax 将 JSON 从服务器端(nodejs)发送到客户端?

使用 apollo 客户端(或其他替代方案)服务器端获得自动补全和语法高亮

如何使用 AJAX 将图像从服务器传递到客户端 Flask