问题: python webapp2 + jQuery Ajax在接收大文本数据响应方面非常糟糕(在1.7MB有效负载往返中需要超过10分钟)
问: 这是什么原因?怎么改进呢?我可以使用任何经过充分验证的技术将大文本主干划分为小有效负载以避免"浏览器挂起"问题吗?
背景: 我一直在学习使用webapp2 + Google App Engine的python web编程.我正在尝试使用jQuery Ajax构建一个"你输入的是什么"的编辑区域.它与 stackoverflow post editor非常相似:wmd-input vs wmd-preview,提供实时预览功能.(它一直表示"草稿已保存"为短文本.另一个例子是Google Docs实时编辑功能)
我的例子是这样的: 一个textchange jQuery插件触发由每个输入textarea触发的Ajax发布更改 ---> Python后端接收文本并在其上添加一些消息 --->发回文本+消息 ---> jQuery使用服务器响应更新预览textarea(好吧,发送回收到的文本的全部内容仅用于测试目的.)
我的前端代码:
<script type="text/javascript">
function simpleajax() {
$.ajax({
type: 'POST'
,url: '/simpleajax'
,dataType: 'json'
,data:{'esid':'#ajaxin','msgin':$('#ajaxin').val()}
,cache:false
,async:true
,success:function (resp){$('#ajaxout').text(resp.msgout);}
,error:function (jqXHR, textStatus, errorThrown){
{$('#ajaxout').text("Ajax Error:"+textStatus+","+errorThrown)}}
});
}
$(document).ready(function(){
$('#ajaxin').bind('textchange', function () {
$('#ajaxstatus').html('<strong color="blue">Typing ...</strong>');
simpleajax();
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我的后端代码:
class simpleajax(BaseReqHandler):
def get(self):
content={'pagealert':'simpleAjax get response'} …Run Code Online (Sandbox Code Playgroud)