php - 加载外部 php 页面

标签 php jquery ajax loading external

下面的函数抓取一个 php 页面,然后每 5 秒重新加载一次。来自该 roomdata.php 页面的唯一内容是带有颜色名称(蓝色、黄色等)的字符串。我希望能够在函数 modifyLight(color) 中使用该名称,但它不允许我这样做。我不知道为什么,但无论我尝试什么,它都不会将变量数据视为字符串,即使我将其澄清为一个字符串。

感谢任何帮助,谢谢!

$(function(){
  function loadData()
  {  
    var data = load('roomdata.php');
    modifyLight(data);
    setTimeout(loadData, 5000); // makes it reload every 5 sec
  }
  loadData(); // start the process...
});

最佳答案

您正在使用异步 ajad 调用。您需要将请求配置为同步。

 $.ajax(URL, {async : false});

这样就会执行下一行,直到ajax请求完成。

编辑

你的函数应该是这样的:

$(function(){
  function loadData() {
     $.post("roomdata.php", function(result) {
        modifyLight(result);
        setTiemout(function() { loadData(); }, 5000);
     }  
  }
  loadData(); // start the process...
});

你这样做的方式的问题是 $.load();仅使用 Ajax 加载内容并将内容放在 $('#yourdiv'); 上它不返回任何内容。您需要一个 ajax 请求,其中包含“成功”事件中的内容。在我给你的代码中,$.post通过发送 ajax 请求到 roomdata.php然后,一旦 ajax 完成,它就会执行函数 function(result) { ... }

关于php - 加载外部 php 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15444554/

相关文章:

jquery - 单击时删除 jquery css

Javascript camel case split for json 结果

javascript - 是否可以从选择器中获取 .getScript?

php - Bootstrap 轮播指示器未在 Wordpress 中显示

php - AJAX 没有响应

javascript - 将单选按钮的值添加到 2 个不同的列中

javascript - 使用 javascript 将元素从隐藏框架解析为可见框架

javascript - 使用mvc下载文件

php - 优化 PHP 代码以从大型数据集构建树结构

php - 数组的绝对值