这是我试图做的没有成功:
<form name="something" action="ht.php" method="post">
<a href="#" onclick="document.url.submit('helloworld');">Submit</a>
</form>
Run Code Online (Sandbox Code Playgroud)
当我点击链接时我想将值发布helloworld到ht.php.我怎样才能做到这一点?
所以我试图使用request模块/包将我从http调用使用的对象数组循环到我的内部API .到目前为止,我能够从API中获取数据并在我的页面上显示完整对象.我想在我的页面上显示它并使用EJS模板系统循环它.我知道我可以使用AngularJS作为前端的东西,但我想看看我能在多大程度上只用服务器端.
以下是我的代码:
server.js
// Prepend /api to my apiRoutes
app.use('/api', require('./app/api'));
Run Code Online (Sandbox Code Playgroud)
api.js
var Report = require('./models/report');
var express = require('express');
var apiRoutes = express.Router();
apiRoutes.route('/reports', isLoggedIn)
.get(function (req, res,next) {
// use mongoose to get all reports in the database
Report.find(function (err, reports) {
// if there is an error retrieving, send the error.
// nothing after res.send(err) will execute
if (err)
return res.send(err);
res.json(reports);
});
});
Run Code Online (Sandbox Code Playgroud)
routes.js
var User = require('./models/user');
var request = require('request');
module.exports …Run Code Online (Sandbox Code Playgroud) 我正在为Google Home 构建一个助手应用程序,使用Dialogflow,云功能和新的NodeJS Client Library V2 for Google.事实上,我正在将使用V1构建的旧代码迁移到V2.
上下文
我试图使用两个单独的意图来获取用户的位置:( Request Permission向用户触发/发送权限请求的User Info意图)和(检查用户是否授予权限的Intent,然后返回助手请求的数据以继续.
问题
问题是在V1上运行良好的相同代码不适用于V2.所以我不得不做一些重构.当我部署我的云功能时,我能够成功请求用户的权限,获取他的位置,然后使用外部库(geocode),我可以将latlong转换为人类可读的形式.但由于某些原因(我认为它的承诺)我无法解决promise对象并将其显示给用户
错误
我收到以下错误:
代码
以下是我的云功能代码.我已经尝试过这个代码的多个版本,使用request库,https库等.没有运气......没有运气
const {dialogflow, Suggestions,SimpleResponse,Permission} = require('actions-on-google')
const functions = require('firebase-functions');
const geocoder = require('geocoder');
const app = dialogflow({ debug: true });
app.middleware((conv) => {
conv.hasScreen =
conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT');
conv.hasAudioPlayback =
conv.surface.capabilities.has('actions.capability.AUDIO_OUTPUT');
});
function requestPermission(conv) {
conv.ask(new Permission({
context: 'To know who and where you are',
permissions: …Run Code Online (Sandbox Code Playgroud) javascript asynchronous node.js google-cloud-functions actions-on-google
我一直在尝试找出如何使用Dialogflow和NodeJS Client构造Maps / Directions卡的方法。
经过一些研究,我找到了这种SO,它解释了如何使用Google Directions API和Polylines 生成静态地图URL(作为图像)。但是我认为,Dialogflow中应该有一个功能,允许开发人员构建这些类型的卡,以及相关的内置Intent或Event(例如CALL,EMAIL,DIRECTIONS等)。
以下是我要构建的示例:
以下是我编写的一段代码,试图重现号召性用语(电话,电子邮件,路线等)。我也知道后续操作的类型,但不确定如何使其在我的应用程序中起作用(如何触发通话/电子邮件事件?)
function triggerAction(conv) {
let actions = ['Call','Fax','Directions', 'Website'];
conv.ask(new BasicCard({
text: `Some description`, // Note the two spaces before '\n' required for
// a line break to be rendered in the card.
subtitle: 'This is a subtitle',
title: 'Title: this is a title',
buttons: new Button({
title: 'This is a button',
url: …Run Code Online (Sandbox Code Playgroud) javascript google-maps node.js actions-on-google dialogflow-es
我正在尝试从 Web 调用外部资源,并使用 NodeJS Client V2 和 Cloud Functions 将结果加载到 Dialogflow 中。
我已经尝试了这段代码的多种组合,使用了 Promise、外部函数等。没有运气。
测试1
function myIntent(conv) {
// console.log('conv ', conv)
const config ={
"headers": {'X-App-Token': dataSFAPITOken},
"Content-Type": "application/json"
}
const url = "http://data.sfgov.org/resource/cuks-n6tp.json";
return new Promise((resolve, reject) => {
axios
.get(url)
.then(response => {
console.log(response);
conv.ask('I got your data back')
return resolve(response)
})
.catch(error => {
console.log(error);
conv.ask('Sorry! Something went wrong')
return reject(error)
});
})
}
app.intent('My Intent', myIntent);
exports.myAgent = functions.https.onRequest(app);
Run Code Online (Sandbox Code Playgroud)
错误
这是我在调用myIntent.
{ Error: …Run Code Online (Sandbox Code Playgroud) javascript ×4
node.js ×4
ajax ×1
asynchronous ×1
ejs ×1
es6-promise ×1
express ×1
firebase ×1
forms ×1
google-maps ×1
html ×1
http ×1
mongodb ×1
requestjs ×1