Javascript 如何使用按钮在服务器上执行某些操作?

Javascript 如何使用按钮在服务器上执行某些操作?,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个简单的网站,允许用户从服务器端下载一些文件。这些文件不会预先创建。也就是说,html页面上会有一个按钮。当用户单击该按钮时,页面将要求服务器从另一台服务器抓取这些文件并将其压缩到用户 目前我正在使用jquery。我创建了一个带有下载按钮的弹出对话框表单: $("#dialog-form").dialog({ autoOpen: false, height: 300, width: 350, modal: true, buttons: {

我正在创建一个简单的网站,允许用户从服务器端下载一些文件。这些文件不会预先创建。也就是说,html页面上会有一个按钮。当用户单击该按钮时,页面将要求服务器从另一台服务器抓取这些文件并将其压缩到用户

目前我正在使用jquery。我创建了一个带有下载按钮的弹出对话框表单:

$("#dialog-form").dialog({
    autoOpen: false,
    height: 300,
    width: 350,
    modal: true,
    buttons: {
        "Download": function() {},
        close: function() {}
    }
});
当用户单击下载按钮时,用户需要等待服务器生成文件(即,阻塞调用)

我对网络开发非常陌生。有人能帮我吗


谢谢

您需要某种服务器端功能来处理该部分。客户端代码(JavaScript+jQuery)与服务器端代码断开连接。它启动一个请求,但服务器端代码完全在其自己的应用程序上下文中操作以处理请求

有许多服务器端平台可供选择:

  • ASP.NET
  • PHP
  • 红宝石
  • 爪哇
  • 蟒蛇
  • Node.js
  • 等等
除此之外,每个平台都有各种各样的框架,可以帮助完成项目

一些初步考虑包括:

  • 您将在何处托管此文件,以及有哪些可用内容
  • 您最熟悉的其他编程语言是什么

如果您只想给出一个文件,只需在下载按钮中给出文件的位置,如

$("#dialog-form").dialog({
    autoOpen: false,
    height: 300,
    width: 350,
    modal: true,
    buttons: {
        "Download": function() {window.location='{your file location}'},
        close: function() {}
    }
});

如果您想要提供zip格式,则需要使用一些服务器端插件将其转换为zip。

如前所述,您需要实现一些服务器端功能。一个可能的解决方案可以是一些类似这样的PHP脚本,例如:

<?php
// Code to create the file, I assume it will be an PNG image
$tempFilename = "your_file_name.png";

// The following two lines are important to turn the response into 
// a file download

header('Content-Type: image/png');
header('Content-Disposition: attachment; filename="' . $tempFilename . '"');

// this actually sends the file to the client, there are other
// ways to do this
readfile($tempFilename);
?>

为此,您必须进行一些服务器端开发。选择一种技术(PHP、JSP、.net、node.js、Go、Ruby等)。可能
按钮:{“下载”:function(){}
很抱歉没有更清楚地解释它。我在服务器端使用PHP(codeIgniter)。我的问题是,对于常规按钮,有一个“提交”选项,这样我可以通过指定链接将任务重定向到后端。但是对于查询,我不知道如何在没有提交选项的情况下重定向任务…感谢您的回复。我的问题是我不知道如何从客户端提交表单。如果您不必向服务器传递很多数据,可以通过Get参数来完成。其他ise,您可能需要研究AJAX。因此,基本上,按照Sudhanshu Yadav的建议进行操作,并向URL添加如下参数:
/your_URL.php?foo=bar&option=2
等。