gpt4 book ai didi

javascript - 根据URL参数显示动态网页内容(Parse Cloud, Express, ejs)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:30:44 24 4
gpt4 key购买 nike

我是编程新手,对于这个项目,我正在使用 Parse.com Cloud Code 和 Express 构建一个网络应用程序。结构如下所示:

  • app.js(Express相关代码)
  • views/hello.ejs(模板)
  • main.js(云函数)

我还有一个 iOS 应用程序,可以在 Facebook 上发布一个链接,如下所示:myapp.parseapp.com/hello?objectid。当 Facebook 用户单击该链接并重定向到网络应用程序时,网络应用程序将根据提供的 objectid 自动res.render 模板。然后使用 objectid 从使用 Parse.Query 的 Parse 类获取一些数据,这些数据将显示在页面上,但我的障碍不在于 Parse.Query。

为了检查 objectid 是否被服务器成功捕获,我尝试了以下代码来呈现模板并将 objectid 插入到 文本的占位符中 变量,但是 put objectid here 在加载页面时不会更改为提供的 objectid。谁能告诉我出了什么问题,或者我是否应该用另一种方法来做?

hello.ejs(模板):

<!DOCTYPE html>
<html>
<head>
<title>My Web App</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
$.post('/hello', {oid: window.location.toString().split("?")[1]});
</script>
</head>
<body>
<p><%= text %></p>
</body>
</html>

app.js(快速):

// Initialize Express in Cloud Code.
var express = require('express');
var app = express();

// Global app configuration section
app.set('views', 'cloud/views'); // Specify the folder to find templates
app.set('view engine', 'ejs'); // Set the template engine
app.use(express.bodyParser()); // Middleware for reading request body

// Render view
app.get('/hello', function(req, res) {
res.render('hello', { text: 'put objectid here' });
});

app.post('/hello', function(req, res) {
res.render('hello', { text: req.body.oid });
});

app.listen();

最佳答案

经过更多研究后,我发现了这篇文章:how to get url parameter in express node js .决定试一试,结果成功了!这是解决方案。

URL 更改为:myapp.parseapp.com/hello?id=objectid

<script><head>不再需要。最终代码如下所示:

hello.ejs (template):

<!DOCTYPE html>
<html>
<head>
<title>My Web App</title>
</head>
<body>
<p><%= text %></p>
</body>
</html>

app.js (express):

// Initialize Express in Cloud Code.
var express = require('express');
var app = express();

// Global app configuration section
app.set('views', 'cloud/views'); // Specify the folder to find templates
app.set('view engine', 'ejs'); // Set the template engine
app.use(express.bodyParser()); // Middleware for reading request body

// Render view
app.get("/hello", function(req, res) {
res.render('hello', { text: req.param("id") });
});

app.listen();

干杯!

关于javascript - 根据URL参数显示动态网页内容(Parse Cloud, Express, ejs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com