Ajax调用web方法不工作

本文关键字:工作 方法 web 调用 Ajax | 更新日期: 2023-09-27 18:15:42

我有这个ajax调用

   function findPICKey() {
        filter = document.getElementById('MainCT_dtvJobVac_PIC').value;
        $.ajax({
            type: 'POST',
            contentType: 'application/json;',
            data: "{listuser:" + JSON.stringify(resultarr) + ", keyword:'" + JSON.strigify(filter)+ "'}",
            dataType: 'json',
            url: 'SvcAutoComplete.asmx/GetPICKey',
            success: function (result) {
                result = JSON.parse(result.d);
                document.getElementById('<%= dtvJobVac.FindControl("PICKey").ClientID %>').value = result;
           },
               error: function (result) {
                   alert("error getting pic key");
               }
           })
    }

web方法
   [WebMethod]
        public string GetPICKey(List<BO> listuser, string keyword)
        {
            //List<BO> ListObj = new List<BO>();
            //ListObj = (List<BO>)Session["ListPIC"];
            //ListObj = listuser;
            //string key = string.Empty;
            //for (int i = 0; i < ListObj.Count; i++)
            //{
            //    if(ListObj[i].label == keyword)
            //    {
            //        key = ListObj[i].value;
            //        break;
            //    }
            //}
            //return key;
            return "";
        }

由于某种原因,我的web方法没有调用,我放了一个断点,但它没有触发,我在这里做错了什么?顺便说一下,resultarr是一个对象。

Ajax调用web方法不工作

只是检查,但你知道你的第二个stringify拼写错误?"JSON。strigify":)

如果你从localhost调用webservice,你应该检查url

情商:

http://localhost/HenryChunag/SvcAutoComplete.asmx

url应该是:

url: '/HenryChunag/SvcAutoComplete.asmx/GetPICKey'

我认为问题出在

 data: "{listuser:" + JSON.stringify(resultarr) + ", keyword:'" + JSON.strigify(filter)+ "'}",
it should be 
 data: {listuser:"+ JSON.stringify(resultarr) +" , keyword:" + JSON.strigify(filter)+ "},
or
data: {listuser:JSON.stringify(resultarr) , keyword:JSON.strigify(filter)},