0

编辑:现在问题变成了,我如何告诉 Sajax 使用 POST 而不是 GET?我尝试了一些来自谷歌的例子,但它们很粗略,正如我所说,它们没有用。我知道,我们都是 jQuery 疯子。

我使用以下代码尝试找到可以通过 ajax 调用发送到服务器的数据量的限制。显然,我们使用 Sajax。在 IE 中,大约 1900 个字符后,数据无法通过,我们得到一个错误。在 Firefox 中,限制在 6100 左右,但似乎每次调用都会有所不同。这取决于浏览器吗?

还尝试使用 POST 而不是默认的 get 并告诉 Sajax 使用 POST 根本不起作用。

在任何地方定义的 AJAX 中发送的数据流大小是否有限制?从经验来看呢?

<?
    require('sites/includes/Sajax.inc.php');

    function str_length_test($str){
        return strlen($str);
    } 

    sajax_init();
    sajax_export('str_length_test');
    sajax_handle_client_request();

?>
<html>
<head>
    <title>Multiplier</title>
    <script>
    <? sajax_show_javascript(); ?>

    function do_str_length_test_cb(pwd) {
        document.getElementById('str_length').value = pwd;
    }

    function do_str_length_test() {
        sample_field = document.getElementById('sample').value;
        x_str_length_test(sample_field, do_str_length_test_cb);
    }  
    </script>

</head>
<body>

    <textarea id="sample" name="sample" rows=20 cols=60 onblur="do_str_length_test(); return false;"></textarea>
    Size: <input type="text" id="str_length" name="str_length" value="" size=10>

</body>
</html>
4

3 回答 3

1

GET 在 IE 中被限制为 2083 个字符,请参见http://support.microsoft.com/kb/208427

请参阅此处了解 url 长度以供讨论。

于 2009-01-26T21:21:22.500 回答
1

我在 sajax 示例中看到了这一点:

$sajax_request_type = "GET";
sajax_init();
sajax_export("add_line", "refresh");
sajax_handle_client_request();  

我猜你只是将GET更改为POST。

$sajax_request_type = "POST";
于 2009-01-26T23:46:02.333 回答
0

如果您使用 GET,则没有定义的限制。这取决于发出请求的浏览器和接收请求的服务器。

POST 通常受服务器限制 - 我认为 PHP 的默认值约为 5MB。

于 2009-01-26T20:54:56.810 回答