【问题标题】:Displaying POST Data with jQuery?用 jQuery 显示 POST 数据?
【发布时间】:2011-04-01 09:57:58
【问题描述】:

我正在使用闪光灯网络摄像头拍照。它工作得很好,并通过 POST 返回一个 URL。

我正在使用 PHP 进行编码,并希望在收到此 POST 数据后显示它,问题是我没有重新加载页面。

我环顾四周,不确定动态加载这个数据数组。

我应该在哪里寻找? jQuery?

啊,想通了。我的 Flash 有一个内置的回调函数,所以我只需要从那里追加数据!

【问题讨论】:

    标签: php jquery ajax post


    【解决方案1】:

    jQuery 无法读取除了出现在 URL (GET) 中的请求数据之外的任何类型的请求数据。您将需要使用 PHP(或其他一些服务器端语言)来处理由 FLash 应用程序创建的响应。

    由于您在处理过程中使用 Flash,因此您处于某种劣势,因为除非 Flash 应用程序具有某种 JavaScript“PhotoUploaded”事件通知,否则您的页面不会收到 Flash 刚刚完成的通知向您的服务器提交了需要检索和插入的图片。如果您可以修改 Flash 应用程序以生成外部 JavaScript 事件,那么您可以按照 Frankie 在他的回答中描述的那样继续操作;否则,如果修改 Flash 应用程序不是一个选项,那么另一种解决方案是让您的页面每隔一段时间(5-10 秒左右)向服务器发送一个请求,以检查是否有照片可供它使用显示呢。

    以这种方式使用您的服务器设置轮询的最简单方法是确保从 Flash 上传的每张照片都有一个唯一的、预先确定的标识符,您的页面在初始加载时就知道该标识符。然后,您只需每隔几秒钟使用 AJAX 请求 ping 您的服务器,并将该唯一标识符传递给它,以便在存在时找到正确的图像。

    基本示例:

    function GetPhoto() { 
     $.get('/getphoto.php?ID=1541XJ55A6', function(response) { 
        if(response.ImageUrl !== "") {
            $(".profile-image").attr("src", response.ImageUrl);
            if(getPhotoTimer !== undefined) {
                clearInterval(getPhotoTimer);
            }
        }
     });
    }
    
    $(document).ready(function() {
        var getPhotoTimer = setInterval("GetPhoto()", 10000); // every 10 seconds
    });
    

    【讨论】:

      【解决方案2】:
      1. Flash 每次返回 URL 时都会调用 javascript。
      2. Javascript 联系服务器 (php) 并获取内容
      3. Javascript 将内容注入页面

      像这样(弹性代码):

      // attach a function to the completeHandler
      private function completeHandler(evt:Event):void {
          javascriptComplete();
      }
      
      // declare the function that will call the javascript function
      private function javascriptComplete():void {
          var javascriptFunction:String = "galeryUploadComplete("+Application.application.parameters.opt+")";
          ExternalInterface.call(javascriptFunction);
      }
      

      【讨论】:

        猜你喜欢
        • 2016-09-08
        • 2022-10-04
        • 2014-02-26
        • 2014-02-24
        • 2012-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多