繁体   English   中英

通过Ajax表单发送数据

[英]Send data through the Ajax form

我有一个通过Ajax发送给每个参数的表单,但是不发送表单数据。 我的问题是我应该如何通过Ajax发送表单数据

html代码:

<from action="" method="post" enctype="multipart/form-data">
   <input type = "file" name = "adrfile" />
   <input type = "button" value="Upload" onclick="javascript: upload();" />
</form>

XmlHttpRequest对象无法完成文件上传,XmlHttpRequest对象通常被视为AJAX。 大多数人在尝试创建和异步上传文件时采取的方法是提交表单并定位iframe 我建议使用像Uploadify这样的JavaScript库。

还有许多JQuery插件可以帮助您解决此问题。 一个快速的谷歌搜索应该给你很多选择。

如果您想头疼,可以使用多种浏览器-即Firefox,IE,Safari和Opera的最新版本。

需要JS summat中的代码,例如(其中obj是input type="file"项的对象:

function DoReadFile(obj)
  {
    if (obj.files)
    {
      // Sensible browers
      if (1 == obj.files.length)
      {
        var file = obj.files[0];
        try {
          return obj.files[0].getAsBinary();
        }
        catch (error)
        {
           // Blank
        }
      }
    }
    else
    {
      // IE
      try
      {
        var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
        var fileHandle = fileSystem.OpenTextFile(obj.value, 1);
        var contents = contents.ReadAll();
        contents.Close();
        return contents;
      }
      catch (error)
      {
        // Blank
      }
    }
    throw "Cannot read file";
  }

然后,您可以获取JS来加密数据(base 64等),并将其与其他内容一起发送。 但是,它不能是多部分形式。

但这有点浪费时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM