2015-06-21 68 views
0

我試圖通過使用AJAX來做的事情是,當我點擊「Select」按鈕時,來自SQL DB的所有相關信息都將被分配給相關標籤。 問題是下面的AJAX代碼($。ajax)永遠不會被觸發(既不成功也不出錯)。警報(res [0])在屏幕上顯示真實結果(因此clientid參數爲true)。Ajax POST永遠不會被觸發,也不會成功或錯誤

這是從web應用項目Asp.Net

 function BindClientSummaryForm() { 
      var skillsSelect = document.getElementById('<%= ddlSFoundClients.ClientID %>'); 
      var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text; 
      var res = selectedText.split('-'); 
      document.getElementById('<%= hiddenClientID.ClientID %>').value = res[0]; 
      alert(res[0]); 
      $.ajax({ 
       type: "POST", 
       url: "Default.aspx/GetClientSummaryData", 
       contentType: "application/json;charset=utf-8", 
       data: "{ 'clientid': " + res[0] + "}", 
       dataType: "json", 
       success: function (data) { 
        alert("deneme"); 
        document.getElementById('<%= lblClientNameSurnameD.ClientID %>').innerHTML = data.d.Firstname + " " + data.d.Lastname; 
        document.getElementById('<%= lblDateOpenedD.ClientID %>').innerHTML = data.d.DateFileOpened; 
        document.getElementById('<%= lblCityD.ClientID %>').innerHTML = data.d.City; 
... 
       }, 
       error: function (XMLHttpRequest, textStatus, errorThrown) { 
        alert("Error occured while filling ClientSummary part."); 
       } 
      }); 
      return false; 
     } 
<asp:Button runat="server" CssClass="btnSelect fieldButton" ID="btnSSelect" Text="Select" OnClientClick="return BindClientSummaryForm()"></asp:Button> 

代碼隱藏

[WebMethod] 
public static MyClient GetClientSummaryData(String clientid) //GetData function 
{ 
    ... 
    return client; 
} 

調試器從不下降到C#中的GetClientSummaryData(客戶端ID)方法爲好。

我很感謝您的幫助。

+0

你是否開啓了你的開發工具並觀看網絡?您應該看到瀏覽器發出的請求。檢查服務器響應... – AMember

+0

並且您已經包含了jQuery,並且您已檢查控制檯是否有錯誤。 – adeneo

+0

有史以來最愚蠢的失蹤事件:(

回答

0

嘗試的content-type值更改爲text/plain雙方的客戶服務器,並在成功函數中使用eval ('('+data+')')

我知道這是不正確的,因爲服務器響應是json,但發生在我身上的是同一件事,當我在服務器上返回內容爲content-type: application/json時,我發現(我不知道原因)不要調用成功功能。

0

什麼是你指定POST作爲請求類型?看起來如果你使用GET會更自然(甚至方法名稱告訴我們這個)。

此外,我不確定此語法data: "{ 'clientid': " + res[0] + "}",因爲我更喜歡在單獨的文件中編寫腳本。無論如何,你可以嘗試寫data: { clientid: res[0] }而不是

相關問題