javascript run xmlhttp php script 404 не найден

Я пытаюсь сделать файл .js запустим .php-файл в той же папке. Я использую XMLHttpRequest . В настоящее время сценарий .js работает с узловым сервером.

Я пробовал разные вещи для URL-адреса, чтобы получить .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-страницы, мой код, похоже, отлично подходит для файла. Он отображает только 404, когда это относительный путь к файлу php.

Вот моя файловая организация:

  • документы
    • 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);