javascript运行xmlhttp php脚本404未找到

时间:2017-04-15 03:13:05

标签: javascript php xmlhttprequest

我正在尝试使.js文件在同一文件夹中运行.php文件。我正在使用XMLHttpRequest。目前,.js脚本正在与节点服务器一起运行。

我为网址尝试了各种各样的东西来获取.php文件。

  • my_file.php会产生"404 (Not Found)"
  • //InsertAbsolutePathHere/tests/my_file.php会产生net::ERR_NAME_NOT_RESOLVED
  • file:///InsertAbsolutePathHere/tests/my_file.php会产生Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

如果我使用第一个选项(相对路径),我注意到最终的URL以“localhost:3000/tests”开头。当我使用绝对路径时,我可以在Chrome中查看该文件,但localhost:3000/tests版本显示“Cannot GET”消息。 但是,如果我使用index.html或任何其他html页面的相对路径,我的代码似乎找到该文件就好了。当它是php文件的相对路径时,它只抛出404。

这是我的文件组织:

  • 文档
    • JS
      • index.js(我想从中调用我的php的文件)
    • 测试
      • 的index.html
      • my_file.php

我有一种感觉,我的相对路径不起作用,因为我正在运行节点服务器,并且服务器不能正常使用php文件。有人可以证实这一点吗?

如何加载我的php脚本?另外,两个绝对路径选项之间有什么区别?他们为什么会返回不同的错误消息?

提前致谢!

编辑:这是我的代码(其中一部分来自另一篇文章)

function drawError() {
    var container = document.getElementById('output');
    console.log('Bummer: there was an error!');
}
// handles the response, adds the html
function drawOutput(responseText) {
    console.log(responseText);
}
function getRequest(url, success, error) {
    var req = false;
    try{
        // most browsers
        req = new XMLHttpRequest();
    } catch (e){
    console.log("XML request failed.");
        return false;
    }
    if (!req) return false;
    if (typeof success != 'function') success = function () {};
    if (typeof error!= 'function') error = function () {};
    req.onreadystatechange = function(){
        if(req.readyState == 4) {
            return req.status === 200 ? success(req.responseText) : error(req.status);
        }
    }
    req.open("GET", url, true);
    req.send(null);
    return req;
}
var urlString1 = 'my_file.php?' + encodeURIComponent('game_id') + '=0&' + encodeURIComponent('client_timestamp') + '=10';
//var urlString2 = '//Users/Emma/Documents/tests/my_file.php';
//var urlString3 = 'file:///Users/Emma/Documents/tests/my_file.php';
console.log(urlString);
var urlRequest = getRequest(
    urlString, // URL for the PHP file 
    drawOutput,  // handle successful request 
    drawError    // handle error
);
console.log(urlRequest);

2 个答案:

答案 0 :(得分:0)

根据您的文件夹树,您需要返回一个级别,因此,它应该是library(data.table) dt <- as.data.table(df) dt[, list(DebitTotal = sum(Debit)), by = Category] # Category DebitTotal # 1: Merchandise 306.12 # 2: Dining 13.42 # 3: Lodging 9.88 # 4: Other Services 421.70 # 5: Entertainment 10.00 # 6: Internet 26.94 # 7: Phone/Cable 22.08 # 8: Airfare 428.40 # 9: Healthcare 1525.00

答案 1 :(得分:0)

没关系,我是个白痴。我有两个非常相似的文件夹,我只是把我的文件放在错误的文件夹中。它现在正在运作。感谢所有试图提供帮助的人!