URL在查询字符串中请求的时间太长

时间:2015-01-18 13:58:23

标签: javascript php html http tornado

我将page1上的数据通过查询字符串传递到page2,当用户点击按钮“发送”时,数据在查询字符串上传递,page2从查询字符串中获取'data = ..'参数并显示它的页面上的值。

问题是page1上的数据是由用户通过输入文本框创建的,并且可能很长。当用户点击“发送”

时,这会给我们带来以下错误
URL Requested is too long

这是用于获取span元素(用户提交的文本)并将其转换为添加到查询链接的变量的代码:

$('#send').click(function() {
    var data_text = $('span').prop('outerHTML');
    window.location.href = 'http://swter.com/send.php?data=' + data_text + '';
    return false;
});

除了限制用户可以输入的字符数量外,还有它吗?

1 个答案:

答案 0 :(得分:1)

因此,可以使用String#split将textarea的内容拆分为多个字符串,然后遍历生成的数组并向后端服务器发出AJAX GET个请求。您需要包含一种形式的唯一标识符,它将每批数据绑定在服务器上,以及索引,以便您可以重建它,即:

?id={{unique_id}}&page=1&total=6&body={{message_page_1_of_6}}

但是,正如所指出的,POST请求在这里更合适。

相关问题