我有这种形式,其中包含2个input
元素和1个textarea
元素。
文本区域不受限制,可以包含大量内容。我想将该数据发送到后端,然后在数据库中进行处理和写入。我怎么能做到这一点?
这是我到目前为止的代码
<script type="text/javascript">
var form = document.getElementById('blogs_form');
form.addEventListener('submit',function(event) {
event.preventDefault();
var quote = document.getElementById("blog_title").value;
var author = document.getElementById("author").value;
var text = document.getElementById("text").value;
var data = "blog_title=" + quote + "&author=" + author + "&text=" + text;
console.log(data)
var xhr = new XMLHttpRequest();
var url = "http://localhost/backend/blogs.php?" + data;
xhr.open("POST",url,true);
xhr.setRequestHeader("Content-Type","none");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = xhr.responseText;
if(response !== 'success') {
Swal.fire({
type: 'error',text: response,})
} else {
Swal.fire({
type: 'success',text: 'Blog recorded in database',})
}
}
};
xhr.send();
})
</script>
我通过使用方法XMLHttpRequest()
创建POST
来发送它,如上面的代码所示。
问题是当我写大约8000个字符时,它中断了,并且得到了414
的响应。这意味着URI太长。
有什么方法可以发送尽可能多的数据吗?永远只是文本数据。
也。可能是服务器端的问题吗?它有某种限制吗?如果可以的话,有办法避免这种情况吗?