Ajax POST永远不会被触发,也不会成功或错误

问题描述:

我试图通过使用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

有史以来最愚蠢的失踪事件:( –

尝试的content-type值更改为text/plain双方的客户服务器,并在成功函数中使用eval ('('+data+')')

我知道这是不正确的,因为服务器响应是json,但发生在我身上的是同一件事,当我在服务器上返回内容为content-type: application/json时,我发现(我不知道原因)不要调用成功功能。

什么是你指定POST作为请求类型?看起来如果你使用GET会更自然(甚至方法名称告诉我们这个)。

此外,我不确定此语法data: "{ 'clientid': " + res[0] + "}",因为我更喜欢在单独的文件中编写脚本。无论如何,你可以尝试写data: { clientid: res[0] }而不是