2013-05-27 79 views
0

我有這樣的Ajax調用AJAX調用Web方法不工作

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方法不叫,我把一個破發點,但它確實沒有觸發,我在這裏做錯了什麼? btw resultarr是一個對象。

+0

任何錯誤信息? –

+0

它現在正在工作,但現在的問題是我在我的按鈕「2」行動「「我的web方法實際上被激怒了,但它在onclick甚至被調用後完成了,這是因爲我沒有得到我需要存儲到數據庫的關鍵值,如何正確地執行此操作? – NomNomNom

回答

0

只是檢查,但你知道你的第二次stringify拼寫錯誤? 「JSON.strigify」 :)

+0

sry錯別字:) – NomNomNom

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)}, 
0

如果你調用從本地主機的web服務,你應該檢查網址

EQ:

http://localhost/HenryChunag/SvcAutoComplete.asmx 

URL應成爲:

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