从Javascript到servlet的大数据

时间:2014-04-25 05:47:34

标签: java javascript jquery

我有非常大的数据,例如我的<div>标记中的100行文字文件,

所以我想要粘贴到我的java servlet,我通过获取<div>

中的javascript值来尝试以下方法

方法1:

var script = ace.edit("AceEditor"); //Getting the editor text value
var myDivText = script.getValue();

添加隐藏和提交表单的功能

function addHidden(UploadFile, key, value) {
var input = document.createElement('input');
input.type = 'hidden';
input.name = key;
input.value = value;
UploadFile.appendChild(input);
}

访问功能

var UploadFile = document.forms['RunMy'];
addHidden(UploadFile, 'UserMyScript', myDivText);
document.RunMy.submit();

方法2:

获取编辑器文字,

var script = ace.edit("AceEditor");
var myDivText = script.getValue();

window.open('http://xxx.xxx.xxx.xxx:8085/FirstServlet/my?mytxt=' + myDivText);

但是,我遇到了这两种方法的问题,因为数据通过URL传递,而数据在这里非常大,URL大小有限。

那么,是否有任何方法可以将大型文本从javascript传递到servlet

根据以下答案,我编辑了这样的内容

$("#execute1").click(function(){
$.ajax({
    url: '/YourServlet',
    type: 'POST',
    data: { value: $('#AceEditor'.val()) },
});
});

但是当我点击execute1按钮时,浏览器控制台会显示

Uncaught TypeError: undefined is not a function MYJsp:144
(anonymous function) MYJsp:144
x.event.dispatch jquery.js:5095
v.handle

1 个答案:

答案 0 :(得分:1)

为什么不试试jquery ajax post,

$.ajax({
    url: '/YourServlet',
    type: 'POST',
    data: { value: $('#AceEditor'.val()) },
    success: function(result) {
        alert('the request was successfully sent to the server');
    }
});

在您的servlet中使用string

获取getParameter()的值

请参阅here以了解有关jquery ajax post

的更多信息

希望这会有所帮助!!