jquery。$ ajax内容仅在刷新后加载(F5)

时间:2016-01-21 13:04:03

标签: javascript jquery html json ajax

在外部服务器上有一个包含一些.html文件的文件夹,其中一个是index.html。

服务器可以在其网址中加载:foldername或foldername / index.html。 在每个html文件中,我加载一个js文件。 现在的问题是,我的服务器的远程json文件存在于{filename} .json。 这个概念工作正常,但是当我第一次只加载没有index.html的foldername时,似乎没有使用index.json文件。

刷新页面(F5)或第一次使用激活的开发人员工具打开页面以查看console.log它可以正常工作。 这是使用谷歌浏览器和FF进行测试。

以下是相关代码:

//test if url ends with :html
var loc = window.location.pathname.split('/');
var last = loc[loc.length-1] || loc[loc.length-2];

//if not take index.json as file name
if(!last.match(/html/)){
  var file_json = "index.json";
}
else{
  var file_json = last.replace(/html/,"json");
}
var URL = base + "/" + file_json;
$.ajax({
  xhrFields: {
    withCredentials: false
  },
  type: "GET",
  url: URL
  }).done(function (data) {
  ...
  }
console.log(data);

1 个答案:

答案 0 :(得分:0)

将以上所有代码放入函数中:

function myCode(){
    // all the above code comes here
}

并在您希望它运行时调用myCode();。您可能希望在单击某些内容时运行它,例如:

<input type="button" value="Click me!" onclick="myCode();"/>