繁体   English   中英

将字母数字变量传递给JQuery Ajax

[英]Passing Alphanumeric variables to JQuery Ajax

我有以下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);
        }
    });
}

采用

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

这将有效地用单引号引起来的值,这意味着它是一个字符串值。


更正确的是

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

这将作为我们创建的对象( {..}部分 )作为数据传递,jquery将其转换为正确的格式( 字符串

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM