Передача буквенно-цифровых переменных в JQuery Ajax - PullRequest
1 голос
/ 21 июля 2010

У меня есть следующий код JQuery, который отлично работает, если VendorDropDown.ClientID является целым числом или строкой, которая может быть преобразована в целое число, но прерывается, если я пытаюсь использовать строковое значение, например «Microsoft».Функция PopulateSoftware - это Asp.Net WebMethod, который принимает строковый параметр с именем vendorId.

var pageUrl = '<%=ResolveUrl("~/Default.aspx")%>'
function PopulateSoftwareDropdown() {
    alert('{vendorId: ' + $('#<%=VendorDropDown.ClientID%>').val() + '}');
    $.ajax({    
        type: "POST",
        url: pageUrl + '/PopulateSoftware',
        data: '{vendorId: ' + $('#<%=VendorDropDown.ClientID%>').val() + '}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: OnSoftwarePopulated,
        failure: function (response) {
            alert(response.d);
        }
    });
}

1 Ответ

0 голосов
/ 21 июля 2010

Используйте

 data: '{vendorId: \'' + $('#<%=VendorDropDown.ClientID%>').val() + '\'}'

это будет эффективно заключать значение в одинарные кавычки, что означает, что это строковое значение.


правильнее должно быть

data: {'vendorId': $('#<%=VendorDropDown.ClientID%>').val() }

Это передаст в качестве данных созданный нами объект ( {..} part ), который будет преобразован с помощью jquery в правильный формат ( string )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...