#javascript #asp.net #ajax #web-services
#javascript #asp.net #ajax #веб-сервисы
Вопрос:
У меня есть веб-сервер AJAX, который запускает SQL statment, который работает.
Я пытаюсь взять значение HTML со своей веб-страницы и использовать его в качестве дополнительной переменной в моем запросе.
Вот как я фиксирую эту переменную на своей веб-странице.
<div style="margin-left:0px">
<label>Enter Number here: </label><br>
<input type= text id="demo">
</div>
… и это мой вызов веб-службы.
//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
}
}
В окне предупреждения правильно отображается значение HTML из идентификатора поля «Demo»
Но веб-сервис завершается с ошибкой, сообщая, что значение равно NULL, ответ JSON: Сообщение «Параметризованный запрос»(@docid nvarchar(5),@quotenum nvarchar(4000)) ОБНОВЛЯЕТ [dbo].[quote’ ожидает параметр ‘@quotenum’, который не был указан «.
… и URL-адрес GET показывает значение как NULL
https://localhost:44338/WebService1.asmx/Generate ?docid=10146amp;quotenum=null
Любая помощь с благодарностью.
Ответ №1:
Я думаю, что проблема здесь:
var quotenum = document.getElementById("demo".value);
Это должно быть
var quotenum = document.getElementById("demo").value;
как и в строке над ним.