leo*_*leo 2 javascript java google-app-engine servlets
我创建了一个动态的博客引擎,多个作者可以发布文章.
作者进入一个页面,在那里他输入"文章"'描述'和'整篇文章'三个<textarea>
然后我将所有值存储在3个变量中,并通过基于ajax的请求将其存储在数据库中.
问题:HttpServerRequest太大,它给出了413 FULL Head错误,请求无法通过.
代码:
HTML:
<div class="container">
<h4 class="text-left">Title:</h4>
<textarea id="title" rows="2" cols="" ></textarea>
<br />
<h4 class="text-left">Description:</h4>
<textarea id="description" rows="5" cols="" ></textarea>
<br />
<h4 class="text-left">Article:</h4>
<textarea id="article" rows="40" cols="" onkeyup="replaceWordChars(this.value)"></textarea>
<br />
<div class="publish btn">Publish</div>
<br />
<br />
</div>
Run Code Online (Sandbox Code Playgroud)
剧本:
<script>
$(function(){
$('.publish').click(function(){
title = $('#title').val();
description = $('#description').val();
article = $('#article').val();
$.ajax({
type: "get",
url: "/articles",
data: {action:'add', title:title, description:description, article:article},
success: function(code)
{
alert("published");
window.location="dashboard.jsp";
}
}).error(function(){ alert("error"); })
.complete(function(){ alert("complete"); });
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
错误:
"NetworkError:413 FULL head - http:/// articles?action = add&title = blah&.......... gs.%0A%0A&userId = 1"
问题:
是否有另一种方法来发送大型服务器请求?我还在谷歌上看到我们可以改变大小,以匹配巨大的请求?
答案在java,HTML,javascript(或)jQuery中是首选
编辑我在这里读到我们可以在标题中设置发布请求的大小限制吗?我怎么能在GAE中做到这一点?
不要将HEAD或GET用于大型参数.这些只应用于幂等请求(重复它不会破坏任何东西),并且请求只检索数据(即搜索或过滤产品数据库).
请改用POST请求:
<script>
$(function(){
$('.publish').click(function(){
title = $('#title').val();
description = $('#description').val();
article = $('#article').val();
$.ajax({
type: "post",
url: "/articles",
data: {action:'add', title:title, description:description, article:article},
// .... skipped unchanged lines
</script>
Run Code Online (Sandbox Code Playgroud)
这是一个单行的变化.
在服务器上,确保使用doPost()而不是doGet()在servlet中.您可以以类似的方式获取参数.
| 归档时间: |
|
| 查看次数: |
12693 次 |
| 最近记录: |