代码适用于localhost但不适用于实时服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码适用于localhost但不适用于实时服务器相关的知识,希望对你有一定的参考价值。
我的代码在localhost上运行得很好。但是,当我在我的实时服务器上复制并粘贴完全相同的代码时,我收到以下错误消息:无法加载资源:服务器响应状态为404()。我检查了我的文件夹路径,看起来对我来说是正确的。我不知道这里有什么问题。
var folder = "image/";
$(document).ready(function () {
$.ajax({
url: folder,
success: function (data) {
console.log("successful load")
$(data).find("a").attr("href", function (i, val) {
if (val.match(/.(jpe?g|png|gif)$/)) {
theImageList.push(folder + val );
};
})
left_show_image(theImageList[shuffledComparison[0][0]],window.innerWidth/10*4.88, screen.width/3, "left")
right_show_image(theImageList[shuffledComparison[0][1]],window.innerWidth/10*4.88, screen.width/3, "right")
},
error: function(){
alert("cannot read your folder")
}
})
})
这对我来说真的很困惑,我很感激任何建议。
答案
在虚拟或根目录下部署网站时,在javascript中使用相对路径可能会导致404错误。
image文件夹应该与虚拟目录或根目录一起使用。您为应用程序路径提供变量,例如appUrl。
var appUrl ='localhost或live server root folder'
var folder = appUrl +“/ image”;
另一答案
您需要修复文件夹路径。尝试在图像之前添加斜杠:
var folder = "/image/";
要么
var folder = "~/image/";
也将它放在document.ready函数内
$(document).ready(function () {
var folder = "/image/";
$.ajax({
url: folder,
success: function (data) {
console.log("successful load")
$(data).find("a").attr("href", function (i, val) {
if (val.match(/.(jpe?g|png|gif)$/)) {
theImageList.push(folder + val );
};
})
left_show_image(theImageList[shuffledComparison[0]
[0]],window.innerWidth/10*4.88, screen.width/3, "left")
right_show_image(theImageList[shuffledComparison[0]
[1]],window.innerWidth/10*4.88, screen.width/3, "right")
},
error: function(){
alert("cannot read your folder")
}
})
})
这将使用基本URL,然后搜索图像文件夹,以便它应该适用于本地主机和服务器。此外,请确保已将图像文件夹上载到服务器
以上是关于代码适用于localhost但不适用于实时服务器的主要内容,如果未能解决你的问题,请参考以下文章
Verbatim PHP 代码适用于当前的实时站点,但不适用于新站点(本地或实时)
jQuery 适用于 jsFiddle 但不适用于 localhost
Socket.io 适用于 localhost 但不适用于 Heroku 服务器