【发布时间】:2018-03-06 02:43:14
【问题描述】:
基本上我想做的是:使用 ajax 发布开始日期,按下按钮时从日历中结束日期,将其发送到编写在 firebase 函数云 (some official docs here) 和 console.log 上的 nodejs 后端。
这是我的 ajax:
$("#get_excel_button").click(function() {
var startdate = moment($("#filter_date_from").val(), "D MMMM, YYYY").unix();
var enddate = moment($("#filter_date_to").val(), "D MMMM, YYYY").unix();
$.ajax({
url: 'https://us-central1-ecc-local.cloudfunctions.net/getAjax',
dataType: "json",
type: 'POST',
data: {startdate: startdate, enddate: enddate},
success: function (data) {
var ret = jQuery.parseJSON(data);
$('#lblResponse').html(ret.msg);
console.log(data);
},
error: function (xhr, status, error) {
console.log('Error: ' + error.message);
$('#lblResponse').html('Error connecting to the server.');
},
});
});
这是我在 firebase 功能方面的节点:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const cors = require('cors')({origin: true});
admin.initializeApp(functions.config().firebase);
const express = require('express')
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("test 1");
});
exports.getAjax = functions.https.onRequest((request, response) => {
cors(request, response, () => {
response.send("test 2");
const app = express();
var date = '';
var startdate = '';
var enddate = '';
request.on('data', function(data)
{
var date = JSON.parse(data);
console.log('Sending Formatted date:', date);
response.status(200).send(date);
response.status(200).end();
});
request.on('end', function()
{
response.setHeader("Content-Type", "json");
response.setHeader("Access-Control-Allow-Origin", "*");
response.end(date);
});
});
});
问题是:
我在响应中的网络中的 getAjax 将仅输出 test 2 ,但不会列出我的日期变量值,我尝试使用 console.log,不会工作,我认为这个错误来自 Ajax:
错误:JSON 中位置 1 的意外标记 e
如果我在功能上检查我的 firebase 控制台,我在拨打电话时会看到此日志:
10:31:38.859 AM getAjax 函数执行耗时 210 毫秒,完成 状态码:200 10:31:38.650 AM getAjax Billing account not 配置。外网不可访问,配额严重 有限的。配置结算帐号以移除这些限制
我的表单数据如下所示:
startdate:1505941200
enddate:1506373200
我不知道这里出了什么问题,如何在响应中输出我的日期?
【问题讨论】:
标签: javascript jquery node.js ajax firebase