【发布时间】:2021-11-03 00:52:18
【问题描述】:
我想通过 ajax 向 php 文件发出 post 请求,如下所示:
$.ajax({
type: 'POST',
url: '/app/preload.php',
data: {id: "testdata", directories: directories},
dataType: 'json',
cache: false,
success: function(result) {
if(preloadFirstTime === false) return;
console.log('result:', result);
preload(result);
preloadFirstTime = false;
},
});
但我收到此错误:
有线的事情是我可以下载带有错误地址的PHP文件:
我的意思是这个地址:
https://localhost:4000/app/preload.php
知道我做错了什么吗?
编辑:
我想我发现了为什么会发生这种情况我在我的 node.js 服务器中使用了它:
app.use('/app', express.static(__dirname + '/views/app/files'));
我认为这可以处理 get 请求,但 ajax 正在发送 post 请求!!!!
【问题讨论】:
-
您尚未提供minimal reproducible example。如果 GET 请求和 POST 请求给出不同的结果,那么要么服务器处理这些不同请求的方式有所不同,要么你在某处打错了。
-
这些调用之间还有另一个区别。 Ajax 请求使用
https调用本地主机,而浏览器的屏幕转储似乎使用http -
不...使用https我也可以下载文件...
-
您如何提供您的 PHP 文件?网络服务器?或者您是否尝试通过 node.js 运行 PHP?如果您尝试通过 node.js 为它们提供服务,它将无法正常工作。节点无法解析 PHP。如果您使用的是 Web 服务器,则需要安装 PHP 支持。不应下载该文件。
标签: javascript php node.js