在实时域中部署时,ajax调用不起作用

时间:2017-01-17 21:20:44

标签: javascript jquery html ajax

我的ajax调用正在使用localhost,但在我上传域中的文件时却没有。使用ajax我正在一个名为' images'的文件夹中搜索所有jpg / png文件。并在我的网页上显示它们。代码是 -

<script>

//Use ajax to load all images (jpe?g|png|gif) from a folder to a page called Gallery
//images folder should be in the same folder as the file
      var folder = "../images/";
      $.ajax({
          url : folder,
          success: function (data) {
              $(data).find("a").attr("href", function (i, val) {
                  if( val.match(/\.(jpe?g|png|gif)$/) ) {

// create 'img' element using JS and dynamically add image source and class
                      var imgSrc = document.createElement('img');
                      imgSrc.src= folder + val;
                      imgSrc.className = 'imageThumbnails';
                      $("#spanImage").append(imgSrc);
                  }
              });
          }
      });
</script>

2 个答案:

答案 0 :(得分:0)

请更改

FileProvider

var folder = "../images/";

希望这有助于......干杯

答案 1 :(得分:0)

好的,正如您在浏览器中直接访问该文件夹时所看到的那样,您的Web服务器不允许这样做,这在Web服务器上很常见。出于安全原因,很少有人真正希望访问者能够看到文件夹中所有文件的列表。

执行此操作的快速而肮脏的方法是允许使用Options +Indexes通过htaccess文件列出该文件夹中的文件,但我强烈建议您不要这样做 < / p>

相反,我建议您将一个文件放在名为index.php的图像文件夹中,并让 文件在图像文件夹中为您创建一个放在其旁边的文件列表。这样您就可以控制自己显示的文件以及您不显示的文件。 index.php文件可以返回一个简单的文本输出,每行一个文件名或类似的东西。然后你的ajax调用应该像以前一样工作。

希望这有帮助!