首页 > 解决方案 > 如何使用 ajax 发送一个非常大的字符串?

问题描述

我正在尝试使用 ajax 发送一个相当大的字符串(大约 300 万个半字符)。该代码适用于小字符串,但如果我尝试使用我需要传递的字符串,它将无法正常工作。我使用的字符串是一个编码的 base64 Excel 文件。

这是我用来发送字符串的代码:

$.ajax({
      url: "", //The page I call
      type: "GET",
      data: { base64: "....."},//here goes the string I need to pass
      dataType: 'text',
      success: function (response) {
      alert("successful");
      },
      error: function () {
          alert("error");
      }
});

此代码适用于较小的字符串,但不适用于我的。同样,我要传递的字符串大约是 300 万个半字符,甚至可能更大。

后端代码如下:

[HttpGet("Test")]
        public async Task<string> testHelloWorld(string saluto)
        {

            try
            {
                string testString = "Funziona";
                Console.Write(testString + ": " + saluto + "\n");
                return testString;
            }
            catch (Exception ex)
            {
                Log.Error("API(Test) - Exception", ex);
                return null;
            }
        }

有没有办法发送这个字符串?

标签: c#ajaxstring

解决方案


使用POST而不是GET因为通常在 Web 服务器上配置的查询字符串的长度有限制。


推荐阅读