0

私はこの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");
               }
           })
    }

ウェブ方式

   [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 はオブジェクトです。

4

3 に答える 3

0

localhost から webservice を呼び出す場合は、url を確認する必要があります

式:

http://localhost/HenryChunag/SvcAutoComplete.asmx

URL は次のとおりです。

url: '/HenryChunag/SvcAutoComplete.asmx/GetPICKey'
于 2013-05-27T06:46:57.453 に答える
0

問題は

 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)},
于 2013-05-27T06:38:04.857 に答える