javascript - 使用 Node.js 的文件路径问题

标签 javascript ajax node.js ibm-cloud continuous-delivery

我正在将基于 node.js 的应用程序部署到 IBM 的 Bluemix,并向他们提供的其中一个示例添加了一些功能。我已经添加了一个额外的 javascript 文件,该文件对 PHP 进行 ajax 调用,但是由于我的路径不正确,PHP 文件返回时未找到。我试过将文件放在各处,但就是找不到。我在想(作为一个完全的 Node 新手)我缺少一些神秘的配置或其他东西。

在主目录中(除其他外),结构如下:

-- 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 文件放在每个目录中,但没有任何效果。

我在这里错过了什么?

最佳答案

无法从 Node 运行 PHP 脚本。您将需要设置一个支持 PHP 的服务器,并在那里发出您的请求。一种选择是 Apache .

实际上,您可能不想为了运行单个 PHP 脚本而设置整个服务器。更合理的解决方案是将 PHP 脚本移植到 Node.js 上运行。 NPM 上有许多用于 Twitter API 集成的包(例如 twitter 模块)。

关于javascript - 使用 Node.js 的文件路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41192758/

相关文章:

javascript - 如何在树节点 CSS 上显示全宽背景色

javascript - 如何通过调用函数呈现弹出窗口?

javascript - 限制多个表格中的单元格选择

ajax - 网站如何实现 'Web 2.0' 外观?

node.js - 皮带 : currentEnvironment name in admin ui

javascript - 如何在 Odoo 10 的 JavaScript 中获取当前记录?

c# - 如何从 jQuery ajax 调用将复杂对象传递给 ASP.NET WebApi GET?

javascript - Intellij IDEA 状态,AJAX 请求中的成功函数从未使用过。

node.js - ubuntu 14.04 上的 ssl 证书问题

node.js - 如何使用 node.js 设置脚本的最大执行时间?