首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Jquery将文本区域的字符串数据作为参数传递给servlet?

如何使用Jquery将文本区域的字符串数据作为参数传递给servlet?
EN

Stack Overflow用户
提问于 2012-08-04 04:33:58
回答 3查看 4.6K关注 0票数 1

我在html中有一个文本区域,用户将粘贴一长串数据(带有空格),这些数据需要输入到数据库中。用户将单击一个按钮upload,该按钮将调用javascript函数,在其中我将发出jquery调用。这个ajax调用将把这个参数传递给url中提到的servlet。我不确定这里的语法,我想知道如何将数据作为输入参数从html textarea传递。

代码语言:javascript
代码运行次数:0
运行
复制
<textarea id = "string" rows = "20" cols = "120" > Please enter the data </textarea>
<input type = "button" value = "upload" onclick=  "UploadResult(getElementById('string'.val());" />

Javascript

代码语言:javascript
代码运行次数:0
运行
复制
function UploadResult()
{
    var elementValue = $("#string").val();

    $.ajax({
        type: "POST",
        url: "servleturl.irpt?",
        data: "elementValue",
        success: function(msg){
            alert( "Data Saved: " + msg );
            alert(elementValue);
        }
    });
}
EN

回答 3

Stack Overflow用户

发布于 2012-08-04 04:37:08

你的变量周围有引号。如果删除引号,并且我假设您的服务器期望json,那么您需要将数据格式化为json。

代码语言:javascript
代码运行次数:0
运行
复制
function UploadResult()
{
    var elementValue = $("#string").val();

    $.ajax({
        type: "POST",
        url: "servleturl.irpt",
        //data: "elementValue",
        data: {
            'variableNameExpectedByServer': elementValue
        },
        success: function(msg){
            alert( "Data Saved: " + msg );
            alert(elementValue);
        }
    });
}

编辑

正如Ricardo所提到的,您也尝试将值传递到您的函数中,然后尝试在函数中再次得到它。在这种情况下,您应该执行以下操作:

代码语言:javascript
代码运行次数:0
运行
复制
<input type="button" value="upload" 
    onclick="UploadResult(document.getElementByID('string').value);" />

Javascript

代码语言:javascript
代码运行次数:0
运行
复制
function UploadResult(result)
{
    $.ajax({
        type: "POST",
        url: "servleturl.irpt",
        data: {
            'variableNameExpectedByServer': result
        },
        success: function(msg){
            alert( "Data Saved: " + msg );
            alert(elementValue);
        }
    });
}
票数 2
EN

Stack Overflow用户

发布于 2012-08-04 04:47:30

您正在使用jQuery,所以请不要将您的事件直接放在html上。

FirstUploadResult(getElementById('string'.val());应该是UploadResult(document.getElementById('string').value); // missing ')'

第二个:您正在传递textarea的值,但是在您的函数上,您将再次得到它。

第三:您将错误的数据传递给ajax。data: "elementValue"应该是data: { 'elementValue': elementValue}

第四:当您通过ajax传递data时,在设置url时不需要使用?,所以url: "servleturl.irpt?"应该是url: "servleturl.irpt"

html

代码语言:javascript
代码运行次数:0
运行
复制
<div>
    <textarea id ="string" rows = "20" cols = "120" > Please enter the data </textarea>
    <input type ="button" value ="upload" id="submit"/>
</div>

js

代码语言:javascript
代码运行次数:0
运行
复制
$('div').on('click', '#submit', function() {

    var elementValue = $("#string").val();

    $.ajax({
        type: "POST",
        url: "servleturl.irpt",
        data: {
            'elementValue': elementValue
        },
        success: function(msg) {
            alert( "Data Saved: " + msg );
            alert(elementValue);
        }
    });

});
票数 2
EN

Stack Overflow用户

发布于 2015-04-01 15:43:12

也许您可以使用这个jquery插件:

https://www.articlage.com/adrianillo/article/DataUploader

你可以轻松地上传大量的文本。

首先,从:https://github.com/adrianillo/datauploader下载脚本

添加对JQuery和DataUploader脚本的引用

代码语言:javascript
代码运行次数:0
运行
复制
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script  src="js/ajaxdatauploader.js"></script>

初始化DataUploader后

代码语言:javascript
代码运行次数:0
运行
复制
jQuery.ajaxdatauploader(
{
    additional:,
    data:,
    pagerequest:,
    piecelenght:,
    encodedata:,
    success: function (datauploader, status){ 
    }
    error: function (req, status, error) {               
    }
  }
);

您想要发送到服务器的aditional:Additional数据,在这里您可以设置一个数据要发送的标识符。

Data :要发送到服务器的数据。

pagerequerest:页面发送数据(aspx,php,jsp,.)。

encodedata:如果为真,则通过用UTF-8转义序列替换所有特殊字符来对数据进行编码。在服务器上必须对数据进行解码。例如在aspx中: HttpUtility.UrlDecode数据=(数据);

piecelenght:大小的件要发送。DataUploader将数据分成几个部分,然后发送到服务器。

当数据处理完成发送时,它将接受以下函数:“成功”。如果出现问题,无法完成数据的发送,将导致“错误”函数。

最后,服务器逐片收集数据,直到完成为止。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11805920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档