У меня проблемы с получением VBscript на странице .asp для назначения значений переменным, которые отправляются функцией jQuery ajax ().
У меня есть этот код на нескольких других сайтах, и он работает нормально,но по какой-то причине он не будет работать на этом сайте.
На всякий случай, если это имеет значение, мы запускаем сайты через IIS7.
Проблема в том, что переменные на странице VBscriptне присваивайте никакие значения, переданные на странице JavaScript.Однако, если я изменю POST на GET и изменим request.form на request.queryString, это сработает.Проблема с GET заключается в том, что мы не можем ввести очень много данных в поле «Описание» нашей формы, не получив ошибку 414. Следовательно, используется POST.
Как я уже сказал, у меня есть этот код на нескольких другихсайты, поэтому я не могу понять, почему он здесь не работает.
Вот мой код (это смесь старого кода и нового кода):
javascript:
var prodID = document.forms['hidden'].prodid.value;
var strSubCatID = document.forms['frmProducts'].cmbSubCategory.value;
var strName = encodeURIComponent(document.forms['frmProducts'].txtName.value);
var strDescription = encodeURIComponent(document.forms['frmProducts'].txtDesc.value);
jQuery.ajax({
type: "POST",
url: "/_ajax/products/updateDescription.asp",
data: {
"prodid": prodID,
"strName": strName,
"strSubCatID": strSubCatID,
"strDescription": strDescription
},
success: function () {
alert("Update successful")
},
error: function (xhr) {
alert("Error occured during Ajax request, the error status is: " + xhr.status);
}
});
VBscript:
dim strSubCatID : strSubCatID = request.form("strSubCatID")
dim strName : strName = request.form("strSubCatID")
dim strDescription : strDescription = request.form("strDescription")
dim strProdID : strProdID = request.form("strProdID")
strSQL = "UPDATE tblProducts SET "
strSQL = strSQL & "SubCatID = '" & strSubCatID & "', "
strSQL = strSQL & "Name = '" & strName & "', "
strSQL = strSQL & "Description = '" & strDescription & "' "
strSQL = strSQL & " WHERE ProdID = '" & strProdID & "'"
dim rs : set rs=Server.CreateObject("ADODB.recordset")
rs.Open strSQL, cn, 3, 3
Любая помощь приветствуется.