使用ReactJS

时间:2016-03-01 00:13:31

标签: jquery ajax node.js reactjs connection

我目前正在服务器端创建一个运行NodeJS的应用程序,并在客户端创建一个运行ReactJS的应用程序(与jQuery结合使用)。

loadQuestionsFromServer: function() {
    if(this.state.request) this.state.request.abort();

    this.state.request = $.ajax({
        url: '/api/questions/',
        dataType: 'json',
        cache: false,
        success: function(obj) {
            this.setState({ questions: obj });
        }.bind(this),
        error: function(xhr, status, err) {
            console.error('/api/questions', status, err.toString());
        }.bind(this)
    });
}

上面显示了我的ajax调用示例。它确实执行成功,但我的控制台仍然记录net::ERR_CONNECTION_REFUSED错误,我似乎无法调试:

enter image description here

ajax调用读取文件并返回此文件的内容:

var QUESTION_FILE = path.join(__dirname, '../public/questions.json');

router.get('/questions', function(req, res) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Cache-Control', 'no-cache');

    fs.readFile(QUESTION_FILE, function(err, data) {
        if (err) {
            console.error(err);
            process.exit(1);
        }

        res.json(JSON.parse(data));
    });
});

我在互联网上找到了几个“解决方案”:

  • 使用本地IP地址代替localhost
  • setHeaders Access-Control-Allow-Origin(如代码所示)
  • crossDomain: true添加到a​​jax调用

但它们似乎都不起作用。 页面加载时第一次ajax调用时不会发生错误,但是在进程后期(POST和GET)触发ajax调用时会发生错误。 编辑:也不是每次触发ajax调用时都会发生错误。似乎只有当我在彼此之后快速触发时才会发生这种情况。

0 个答案:

没有答案