【发布时间】:2016-12-16 21:35:31
【问题描述】:
我正在将一个基于 node.js 的应用程序部署到 IBM 的 Bluemix,并在他们提供的一个示例中添加了一些功能。我添加了一个额外的 javascript 文件,该文件对 PHP 进行 ajax 调用,但由于我的路径不正确,PHP 文件返回为未找到。我试过把文件放在任何地方,但就是找不到。我在想(作为一个总节点新手)我缺少一些神秘的配置或其他东西。
在主目录中(除其他外),结构是这样的:
-- views
- index.ejs (this is the main displayed code)
-- public
- js
- custom.js (my added file)
- all the other necessary js files
- css
- img
- php - I added this directory
- get-twitter.php - I added this...custom.js makes an ajax call here
在 custom.js 中,我有这个:
$("#get-twitter").click(function(event) {
handle = $('#twitter-handle').val();
$.ajax({
url: 'php/get-twitter.php',
type: 'POST',
dataType: 'JSON',
data: {
handle: handle,
},
success: function(data) {
console.log(data);
$.each(data, function(index, val) {
console.log(val.text);
});
}
});
});
当我尝试进行此调用时,找不到该文件,但路径是这样的:https://myapp.mybluemix.net/php/get-twitter.php 它应该在views/php/get-twitter.php,但我猜这是我的配置问题。
我已经尝试了这个的每一次迭代:url: 'php/get-twitter.php', 并将 PHP 文件放在每个目录中,但没有任何效果。
我在这里错过了什么?
【问题讨论】:
-
您编写了哪些服务器端 JavaScript 来让您的 Node.js 应用程序运行 PHP?
-
我猜这就是问题所在。由于从未使用过 Node,除了您在我的示例中看到的代码之外,我什至不知道什么是必要的。我以为就是这样。
-
我添加了 ibm-bluemix 和 Continuous-delivery 标签,让一些 IBM 开发人员关注这个问题。由于 5 个标签的限制,我不得不删除 php。
标签: javascript ajax node.js ibm-cloud continuous-delivery