HTML 传递给 WebService 的值显示为 NULL

HTML value passed to WebService is showing NULL

我有一个运行 SQL 语句的 AJAX Web 服务,它有效。

我正在尝试从我的网页中获取一个 HTML 值并将其用作我的查询中的附加变量。

以下是我在网页上捕获该变量的方式。

        <div style="margin-left:0px">
            <label>Enter Number here: </label><br>
            <input type= text id="demo">
        </div>

...这是我的 Web 服务调用。

    //Generate code
    function Generate() {

        var myGrid = $('#jqquotes'),
            selectedRowId = myGrid.jqGrid('getGridParam', 'selrow');
            docid = myGrid.jqGrid('getCell', selectedRowId, 'docid');


        document.getElementById("demo").innerHTML = document.getElementById("demo").value;

        alert(document.getElementById("demo").value);

        var quotenum = document.getElementById("demo".value);


        if (confirm('Are you sure you want to generate a quote?')) {
            $.ajax({
                url: '/WebService1.asmx/Generate',
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                type: "GET",
                data: { docid: docid, quotenum: JSON.stringify(quotenum) }, 
                success: function () {

                    //Get selected
                    var grid = $("#jqquotes");
                    var rowKey = grid.jqGrid('getGridParam', "selrow");

                    //Refresh grid
                    $('#jqquotes').trigger('reloadGrid');

                    //Set Selected
                    setTimeout(function () {
                        jQuery('#jqquotes').jqGrid('setSelection', rowKey);
                    }, 200);


                }
            });

        } else {
            return false
        }
    }

警报框正确显示来自框 ID“Demo”的 HTML 值

但是 WebService 失败,说值为 NULL,JSON 响应是: 消息“参数化查询'(@docid nvarchar(5),@quotenum nvarchar(4000))UPDATE [dbo]。[quote'需要未提供的参数'@quotenum'。”

...并且 GET URL 将值显示为 NULL

https://localhost:44338/WebService1.asmx/Generate?docid=10146"enum=null

非常感谢任何帮助。

我认为问题出在这里:

var quotenum = document.getElementById("demo".value);

这应该是

var quotenum = document.getElementById("demo").value;

如上一行所示。