我遇到了通过ajax post请求请求文件的问题。
我想知道如何在ajax调用中映射我的文件以匹配服务器路径?我不明白为什么它不起作用(在切换到gulp webserver之前使用XAMPP)。这是我的项目结构:
./
|_ site/
| |_ index.html
| |_ php/Gallery.php
| |_ assets/
| |_ js/
| |_ Ajax.js
| |_ test.html
|
|_ dist/
|
|_ gulpfile.js
|_ package.json
|_ ...
Ajax.js文件执行Post请求获取php / gallery.php但是我得到了404.我尝试了“php / Gallery.php”和“../../php/Gallery.php”作为路径(还有很多其他的但是尝试和错误没有让我更进一步)
Ajax电话:
$.ajax({
url: "php/Gallery.php",
type: 'post',
data: { width: $(window).width(), galleryWidth: $('.popup-gallery').innerWidth(),},
cache: false,
beforeSend: function(){
$( ".ajax-loading" ).css('display', 'block');
},
success: function(json) {
... do something
},
error: function(err) {
console.log("Ajax Error: "+ err);
}
}); // end ajax call
我尝试使用路径:“assets / js / test.html”访问my / js文件夹中的test.html文件,我也得到了404。如果我输入网址“http://localhost:3000/assets/js/test.html”,那么test.html文件的“Hello world”就会显示得很好,所以我真的很困惑。
见图: http://oi59.tinypic.com/n71op0.jpg (遗憾的是,外部链接导致您需要10个声望来发布图像)
如果有人能够解释我在这里做错了什么,或者我的错误在哪里,我将非常感激!
谢谢
答案 0 :(得分:1)
问题是,gulp webserver无法解释PHP。现在我使用Xampp并让browsersync代理通过它。