我有非常大的数据,例如我的<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
答案 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
的更多信息希望这会有所帮助!!