我可以让实时 PHP 数据显示在 jquery 对话框中吗?

2024-02-10

我正在尝试将两种想法结合起来,但我不确定它们是否相互兼容。

想法一: 让 php 脚本运行命令(例如:ping)并在 Web 浏览器中提供命令的实时结果。

想法2: 出现一个 jQuery 对话框,打开时运行 php 脚本并在对话框中提供实时结果。

想法 1 相当容易实现 (ping.php):

<?php
header('Content-Type: text/html; charset=utf-8');
set_time_limit(1800);
ob_implicit_flush(true);
ob_end_flush();

$exe_command = 'C:\\Windows\\System32\\ping.exe -n 10 google.com';

$descriptorspec = array(
    0 => array("pipe", "r"),  // stdin
    1 => array("pipe", "w"),  // stdout -> we use this
    2 => array("pipe", "w")   // stderr 
);
flush(); 

$process = proc_open($exe_command, $descriptorspec, $pipes);
echo "<pre>";  

if (is_resource($process))
{
    while ($s = fgets($pipes[1])) {  
        print $s; 

        flush();  
    }  
}
echo "</pre>"; 
?>

如果我在浏览器中打开 ping.php,我会得到一行一行的响应 YAY!

想法2给我带来了麻烦。 我可以打开对话框,但直到 php 完成工作后才会出现数据。这可能是 ajax 的本质,所以我可能在正确的方法上偏离了目标。

这是我的index.html 中的javascript:

<script language="Javascript">

function testGetScript() {
    $.getScript("./cgi-bin/ping.php", function(data) {
        var divResults = document.getElementById('pingMe');
        divResults.innerHTML = data;
    });
}

function initDialogs() {
    $('#testDialog').dialog({
        autoOpen: false,
        width: 800,
        title: "PINGING.....",
        modal: true,
        open: function(event, ui) {
            testGetScript();
        },
        close: function() {
            $(this).dialog("close");
            },
        buttons: [
            {text: "Done", click: function() {
                $(this).dialog("close");
            }}
        ]
    });

}

$(document).ready(function(){
    initDialogs();

    $("*[class='btn']").button().click(function() {
            $('#testDialog').dialog('open');
    });

</script>

有人对这是否可能有任何想法吗? 如果是这样,您对如何实现这一目标有什么建议吗?


Use jQuery.get() http://api.jquery.com/jQuery.get/请求您的 PHP 页面,getScript http://api.jquery.com/jQuery.getScript/用于加载 javascript 文件。

$.get('yourpage.php', {}, function(data, status, xhr) {
    // all done, get your content from the data variable.
});

如果您在 get 调用的正文中显示弹出窗口,而不是从对话框中调用 get,则对话框将在拥有所有数据后显示。

编辑:AJAX 似乎在显示任何信息之前等待readyState 4。 PHP刷新似乎发送了一个readyState为3。您需要聆听并填写响应文本 https://stackoverflow.com/questions/2753982/how-to-load-an-ajax-jquery-request-response-progressively-without-waiting-for.

有一些潜在的错误可能需要禁用压缩 http://www.php.net/manual/en/function.flush.php#91556 and 将内容类型设置为 application/octet-stream https://stackoverflow.com/questions/3880381/xmlhttprequest-responsetext-while-loading-readystate-3-in-chrome.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以让实时 PHP 数据显示在 jquery 对话框中吗? 的相关文章

  • 这段 jquery 代码可以写得更短吗? (初学者)

    这是我第一次在 stackoverflow 上提问 所以如果我做错了什么请原谅我 我也是 jquery 的新手 但通过阅读和教程 我设法创建了一个工作示例 下面的代码是我创建的 这意味着我有三个带有可拖动需求的列表和三个可以删除需求的占位符
  • 为什么我无法使用 HTML5 音频标签多次播放声音?

    这就是声音的 存储 方式
  • php 发送带有图像的电子邮件

    我正在尝试发送一封带有图片的电子邮件 我的电子邮件正文是 当我收到电子邮件时 我看不到图片 相反 我 看 img src http planet earth bogus us icons secret pictures gif 我知道这是因
  • 更改网格模板列会破坏布局

    定义时grid template columns在相应的父 div 中这很好 wrapper display grid grid template columns 1fr 1fr 700px 但是如果我只想要两列怎么办 如果我删除其中之一f
  • HTML5 Audio Element 无法在 IOS 11 设备上的 safari 中播放 mp3 直播

    我是一家广播公司的网络开发人员 自 iOS 11 发布以来 我们收到了一些用户投诉 称我们的音频直播流无法再在 IOS 11 设备上播放 为了将流嵌入我们的网站 我们使用 HTML5 AudioElement 在 iOS 11 的 iPho
  • 如何在 PHP 的 foreach 循环中获取两个项目? [复制]

    这个问题在这里已经有答案了 我有一个推荐轮播 轮播每次循环浏览两个项目 现在我想每次得到两个项目foreach环形 我怎么才能得到它 Code div div class row div class col md 6 div class s
  • 为什么 array_merge_recursive 不是递归的?

    我最近在我的应用程序中发现了一个由意外行为引起的错误array merge recursive 让我们看一下这个简单的例子 array1 1 gt 1 gt 100 2 gt 200 2 gt 3 gt 1000 3 gt 1 gt 500
  • 如何在 vuejs 中防止/停止点击传播

    我有一个递归列表 树 每个元素都有一个 click sayHello el id 现在的问题是 因为它是一个嵌套列表 例如 list element 0 01 list el 1 01 list el 2 01 list el 1 02 l
  • jQuery 单击位于另一个 div 之上的 div

    我的 jQuery 有问题click当选择器是 a 时div那是在另一个之上div正如这里所看到的 the html div div div div css parent background color red width 100px h
  • 如何按日期升序对对象进行排序?

    如果我有一个对象列表 var objectList LIST OF OBJECT each object列表中包含三个属性 name date gender 如何按 对列表中的对象进行排序date 属性升序 the date 属性包含字符串
  • jQuery 删除函数真的删除 Dom 元素吗?

    我真的想知道 jQuery 是否remove http api jquery com remove 函数确实从 DOM 中删除元素 首先 我看了here https stackoverflow com questions 2185760 j
  • 是否可以全局文本对齐表列而不在每行中指定类?

    想知道提高效率的最佳方法是什么 也许使用 jQuery 我可以接受不兼容 ie7 的解决方案 如果需要的话 即使缺乏对 ie8 的支持也可以 table th td class cal center td td left td td cla
  • PHP随机输出数组元素

    我如何从大约 20 个元素的数组中随机回显 5 个元素 Thanks 这有效吗 values array rand input 5 或者 作为更灵活的功能 function randomValues input num 5 return a
  • 表格不会提交

    我的 jquery mobile modernizr 网站上有一个表单 我正在使用 jquery mobile 的 1 1 0 rc 1 我的页面上有此表单 但它没有提交 单击搜索按钮绝对不会执行任何操作 我不知道为什么 有任何想法吗 p
  • empty() 在对象的非空属性上返回 TRUE

    我遇到了一个非常奇怪且意想不到的问题 empty 正在返回TRUE由于我不知道的原因 在一处非空的房产上 class MyObject private property public function construct property
  • SQL 未插入到 Yii 中具有关系的表中

    我正在尝试创建一个用户 但所有值都没有插入到数据库中 Systems user 表与partys 表有关系 因为party id 是sytems user 的主键 没有插入任何内容 甚至没有错误 它只是返回到 创建 页面 这是我的架构 Ta
  • CSS - 最大宽度和椭圆

    我有一个包含文本的跨度 我希望跨度扩大到最大 500px 以容纳里面的文本 达到最大值后 我希望文本为任何溢出最大宽度的文本显示省略号 这可能吗 我尝试了以下方法 但这并没有达到目的 Thanks position absolute top
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • Drupal 模板/主题资源或建议?

    我有兴趣为我正在开发的 Drupal 网站创建自定义主题 我是 Drupal 的新手 但是我在处理构建主题 CSS PHP HTML 所需的基本概念方面拥有相当多的经验 所以 我的问题是 我从哪里开始 有创建 Drupal 主题的规范指南吗
  • File_get_contents($url): 无法打开流

    我有一个脚本 我使用以下方法读取文件 file get contents urlencode url 我收到此错误 failed to open stream HTTP request failed HTTP 1 0 400 Bad req

随机推荐

  • 如何从我的网站禁用(查看源代码)和(Ctrl + C)

    是否有机会从我的网站禁用这两个功能 查看源代码 和 Ctrl C 这是不可能的 您可以尝试以某种方式混淆代码 但您需要向客户端发送一些内容 不是吗 您可以使用 AJAX 调用来加载 html 这样 浏览器将显示的源几乎是空的 但是 您无法阻
  • PHP:使用准备好的语句并防止 SQL 注入与转义

    我确实明白准备好的语句是寻求防止 SQL 注入的最终方法 然而 它们提供的保险范围有限 例如 在我让用户决定操作顺序的情况下 即 是 ASC 还是 DESC 等 我没有得到准备好的语句的覆盖 据我所知 我可以将用户输入映射到预定义的白名单
  • Azure 上的 IISNode 定期失败并显示 HTTP 500.1001

    该站点定期因 HTTP 500 错误而变得不可用 到目前为止我能从日志中找到的是 ModuleName iisnode Notification EXECUTE REQUEST HANDLER HttpStatus 500 HttpReas
  • 使用 python-pptx 将文本/幻灯片标题添加到幻灯片上的占位符

    我正在尝试为我的幻灯片添加标题 我正在查找文档here http python pptx readthedocs io en latest user placeholders using html它说 设置幻灯片标题 几乎所有幻灯片布局都有
  • ObjectMapper 无法正确处理 UTF-8?

    我正在使用 ObjectMapper 将系统中的帖子序列化为 json 这些帖子包含来自世界各地的条目并包含 utf 8 字符 问题是 ObjectMapper 似乎没有正确处理这些字符 例如 字符串 Mus e d Orsay 被序列化为
  • 使用 Connect 或将数据作为道具传递给孩子

    我是反应和还原的新手 我有一个场景 其中有这样的嵌套组件 A gt B gt C gt D A 组件中使用了一个属性 D 组件中也会使用该属性 所以 我有两种方法 从组件 A 中的 redux 存储获取状态 然后将其作为 props 传递给
  • 无法在 Mac 上访问 std 向量迭代器 _Ptr

    在 Visual Studio 上 这段代码就像一个魅力 auto child node childs begin while child node childs end vector
  • Matlab 样条插值 从 Y 中找到 X

    我需要找到当 y 0 时 x 的值 这是我的代码 x 2 3 4 5 6 y 10 8 4 1 2 xi linspace 2 6 100 yi interp1 x y xi spline plot x y o xi yi xlabel x
  • Rails:查找父对象的所有关联对象

    我在 Rails 中创建了一个复杂的对象 其主要父对象 Resume 它的每个部分都有多个子对象 objective section contact section 等 有没有一种方法可以将所有关联的对象获取到父对象恢复 如果 获取 是指在
  • RESTful API 密钥建议 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在寻找有关 RESTful API 设计的建议 我已经阅读了很多有关 REST API 方案 身份验证 授权方式等的内容 我无法决定的是我是
  • 如何最大化背景窗口?

    我需要最大化背景中的窗口 这意味着不激活 聚焦 它 SetWindowPlacement 函数不提供此功能 有任何想法吗 WINDOWPLACEMENT wp new WINDOWPLACEMENT GetWindowPlacement h
  • 程度报告问题并行测试

    我有以下报告代码 public class Reporting private ExtentHtmlReporter extentHtmlReporter private static ThreadLocal
  • 如何在 React Native 中获取组件在屏幕上的位置?

    我正在开发一个反应本机应用程序 我想处理屏幕上的触摸 一个用例是当用户在屏幕上 按下 时 我希望能够获取屏幕上特定组件的位置 x y 以了解它是否与触摸的 x y 匹配 我已经搜索过堆栈溢出 但给定的解决方案都不起作用 在我的根组件中 on
  • 分析 pyomo 中的解决方案 (.sol) 文件

    我在机器 1 中有一个 pyomo 模型 在机器 2 中有 CPLEX 求解器 我转换 pyomo 模型 ConcreteModel 变成problem lp带有函数的文件model write problem lp 在机器 1 中 然后我
  • jQuery 在两个类之间滚动切换

    默认情况下 我有一个具有红色背景颜色的导航栏 我想要做的是 当用户向下滚动超过 100px 将背景更改为蓝色 并且如果他返回到 0px 将背景更改为其默认状态 例如 我想通过在两个类之间切换来做到这一点 div class navigati
  • perl + 如何声明数组

    以下脚本 test pl 在 myfile txt 文件的 first line 1 和 second line 1 之间附加 insert 1 文本 并将输出发送到 output txt 但如果我将数组声明为 my first line
  • 尝试在flutter中创建不同语言的pdf

    我想在 PDF 中打印印地语 我也尝试过使用 Google 的 Raleway Regular ttf 字体 但也没有成功 final font await rootBundle load fonts ARIAL TTF final ttf
  • 我的 SQLite 语法错误

    SQLite 新手 所以我不知道我做错了什么 我刚刚收到一条错误消息 SQLSTATE HY000 General error 1 near CREATE syntax error 这是我的 SQL CREATE TABLE users i
  • 如何转置 MySQL 行和重复列标题?

    我有一个 mysql 表 如下所示 id group id item code item label item detail item score 1 10 BLU123 Blue 123 Blah blah 123 3 2 10 BLU1
  • 我可以让实时 PHP 数据显示在 jquery 对话框中吗?

    我正在尝试将两种想法结合起来 但我不确定它们是否相互兼容 想法一 让 php 脚本运行命令 例如 ping 并在 Web 浏览器中提供命令的实时结果 想法2 出现一个 jQuery 对话框 打开时运行 php 脚本并在对话框中提供实时结果