【问题标题】:How do I post large data through an AJAX call (jQuery)?如何通过 AJAX 调用 (jQuery) 发布大数据?
【发布时间】:2009-01-15 02:28:58
【问题描述】:

我正在尝试使用 jQuery 的 ajax 功能从 Web 表单 (ASP.NET MVC) 更新数据。部分数据来自文本区域,虽然不是海量数据,但很容易超过 2 KB。

似乎 jQuery ajax 将所有数据放入查询字符串中,从而导致 IIS 拒绝 URL,从而中断调用。是否可以在 jQuery 下使用 ajax 模型向 POST 请求添加数据,而不是在查询字符串中包含所有内容?

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:

    使用$.post

    例如

    $.post(someUrl, { textData: $('#someInput').val() } );
    

    $.post 只是 $.ajax 的一个简单包装器。

    $.ajax({ type :"post", 
             data : { textData: $('#someInput').val() },
             url : someUrl
          });
    

    【讨论】:

      【解决方案2】:

      是的;根据jQuery's documentation,可以使用jQuery.post POST 数据。

      如果您想发布现有表单,请使用:

      var form = $("#myform"); // or whatever
      $.post(form.get()[0].action, form.serialize(), function(data) {
          // data received
      }, "xml");
      

      【讨论】:

        【解决方案3】:

        你可以使用FormData:

        var formData = new FormData();
        formData.append('filename', filename);
        formData.append('data', data);
        $.ajax({
            url: "FileUploadServlet",
            type: "POST",
            data: formData,
            cache: false,
            contentType: false,
            processData: false});
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-10
          • 2017-01-21
          • 2015-08-28
          • 2015-05-20
          • 2013-10-23
          • 2016-12-28
          相关资源
          最近更新 更多