此功能以前工作过(我上一次打开这个项目一周前),但现在我似乎无法让它工作,我不知道如何找出什么'出错了!首先,我将描述我的文件架构,以防我的文件路径不正确并导致我的php甚至不被调用:
~/Sites
proj1
htdocs
index.html
ajax.php
scripts
java_script.js
styles
style_sheet.css
includes
scrapedImages
.
.
.
这是使用AJAX调用.php脚本的JS函数:
function requestServer() {
$.getJSON('/Users/aweeeezy/Sites/proj1/htdocs/ajax.php', function(data) {
$.each(data, function(key, val) {
var html = "<img src='/Users/aweeeezy/Sites/proj1/includes/scrapedImages/"+val+"' style='display:block;max-width:20px;max-height:20px;width:auto;height:auto' alt=null />"
$('#puppy-box').prepend(html);
});
});
}
当我今天早上第一次打开项目时,行设置var html
为<img src='...'+images[i]+"...
,但我不确定为什么......我认为因为我正在测试网站,所以更快地只加载一小部分图像并使用for循环仅循环前10个左右的图片,因此i
索引。无论如何,不应该是data[i]
,或val[i]
......或data[val]
?我不知道这里发生了什么。
这是JS函数试图调用的ajax.php文件:
<?php
$images = scandir('/Users/aweeeezy/Sites/proj1/includes/scrapedImages/');
/*foreach ($images as $key => $image) {
if ($image == '.' || $image == '..') {
unset($images[$key]);
}
}*/
echo json_encode($images);
?>
我评论了中间部分,因为我不确定这是否会导致并发症。我尝试在这里放置echo和print行以查看是否正在调用脚本,但即使它们正在工作,我也无法真正看到它们,因为它们被返回为data
(我认为)调用脚本的JS函数。
我如何调试这个烂摊子让我女朋友的情人节项目重回正轨!