Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建一个;“突发新闻”;如果文件存在,是否使用ajax进行div?_Javascript_Ajax - Fatal编程技术网

Javascript 创建一个;“突发新闻”;如果文件存在,是否使用ajax进行div?

Javascript 创建一个;“突发新闻”;如果文件存在,是否使用ajax进行div?,javascript,ajax,Javascript,Ajax,我想知道是否有一种方法可以创建一个突发新闻div,即使服务器上存在一个文件,即使为了缓存目的静态保存了一个动态页面,也可以显示该div 例如,每个页面(动态/静态)都有一个空的id: <div id="breaking"></div> 在页面加载时,是否有一种方法让ajax检查服务器上是否存在文件(比如breaking.html)。如果没有,div将保持为空,如果存在,则使用文件的内容填充div: <div id="breaking">Edward Ke

我想知道是否有一种方法可以创建一个突发新闻div,即使服务器上存在一个文件,即使为了缓存目的静态保存了一个动态页面,也可以显示该div

例如,每个页面(动态/静态)都有一个空的id:

<div id="breaking"></div>

在页面加载时,是否有一种方法让ajax检查服务器上是否存在文件(比如breaking.html)。如果没有,div将保持为空,如果存在,则使用文件的内容填充div:

<div id="breaking">Edward Kennedy passes away. Details to follow.</div>
爱德华·肯尼迪去世了。详情如下。
我想我曾经见过这样的描述。这将是一个很好的方式,可以在动态页面和作为静态页面生成的页面上发布突发新闻,以减少服务器负载,但可能在一段时间内不会过期和重新生成。

AJAX无法在服务器端专门检查文件是否存在(因为Javascript是一种客户端技术)但是,您可以编写AJAX成功和失败回调,以便在您请求的文件获得404时,它们能够正常工作


作为补充说明,您不一定需要html中的空div。您可以在以后使用AJAX成功回调插入它。

AJAX不能在服务器端专门检查文件是否存在(因为Javascript是一种客户端技术),但您可以编写AJAX成功和失败回调,以便在您请求的文件获得404时,它们能够正常工作


作为补充说明,您不一定需要html中的空div。您可以随时在以后的AJAX成功回调中插入它。

您可以尝试使用更新div,如中所示

jQuery意味着您不必编写太多枯燥的Javascript,并且可以通过一个漂亮的OO界面专注于很酷的东西。以下是问题的代码片段:

function update() {
  $("#notice_div").html('Loading..'); 
  $.ajax({
    type: 'GET',
    url: 'response.php',
    timeout: 2000,
    success: function(data) {
      $("#some_div").html(data);
      $("#notice_div").html(''); 
      window.setTimeout(update, 10000);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
      $("#notice_div").html('Timeout contacting server..');
      window.setTimeout(update, 60000);
    }
}

这会让你领先一步。另外,如果您想经常使用jQuery书籍(但在线文档也很好)

您可以尝试使用中的更新div

jQuery意味着您不必编写太多枯燥的Javascript,并且可以通过一个漂亮的OO界面专注于很酷的东西。以下是问题的代码片段:

function update() {
  $("#notice_div").html('Loading..'); 
  $.ajax({
    type: 'GET',
    url: 'response.php',
    timeout: 2000,
    success: function(data) {
      $("#some_div").html(data);
      $("#notice_div").html(''); 
      window.setTimeout(update, 10000);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
      $("#notice_div").html('Timeout contacting server..');
      window.setTimeout(update, 60000);
    }
}

这会让你领先一步。另外,如果您想经常使用jQuery书籍(但在线文档也不错)

您无法使用JavaScript/AJAX检查文件是否存在。你需要一些服务器端编码

一种方法是让JS方法调用可以执行file.exist的web服务,如果它存在,那么它将流式返回文件的内容。否则,它只返回一个空流。然后客户端将查看响应长度是否>0,如果是,则显示突发新闻内容


您可以让JS方法尝试加载BreakingNews.html文件,并根据404的设置方式,将其内容加载到div中。您只需捕获404响应在其为空时返回。您可以只拥有一个空的BreakingNews.html(当没有BreakingNews时)文件,这样您就可以测试内容长度,而不是该文件是否存在。

使用JavaScript/AJAX无法检查文件是否存在。你需要一些服务器端编码

一种方法是让JS方法调用可以执行file.exist的web服务,如果它存在,那么它将流式返回文件的内容。否则,它只返回一个空流。然后客户端将查看响应长度是否>0,如果是,则显示突发新闻内容


您可以让JS方法尝试加载BreakingNews.html文件,并根据404的设置方式,将其内容加载到div中。您只需捕获404响应在其为空时返回。您可以只拥有一个空的BreakingNews.html(当没有BreakingNews时)文件,以便测试内容长度,而不是该文件是否存在。

使用AJAX(可能是JSON或XML响应)发送请求并从服务器接收响应,然后在处理响应后使用类似于以下内容的内容:

 breakingDiv = document.getElementById("breaking");
 breakingDiv.innerHTML = TheContentsFromTheServerResponse;

使用AJAX(可能是JSON或XML响应)发送请求并从服务器接收响应,然后在处理响应后使用类似于以下内容的内容:

 breakingDiv = document.getElementById("breaking");
 breakingDiv.innerHTML = TheContentsFromTheServerResponse;