2013-02-27 62 views
0

下面的代碼運行alert(「Success」);當它獨立時,函數fSuccess被註釋掉,但它不會觸發fSuccess()函數。這是爲什麼?非常感謝您的參與。在jQuery中運行函數.When()。完成

$.when(chkUsername(), chkPassword()).done(function() { 
       if (boolusername == 0) { 
        $("#ErrorUN").css("display", "block"); 
       } 
       else { 
        if (boolpassword == 0) { 
         $("#ErrorP").css("display", "block"); 
        } 
        else { 
         $.ajax({ 
          type: "POST", 
          url: "Registration.aspx/Success", 
          data: "{}", 
          contentType: "application/json; charset=utf-8", 
          dataType: "json", 
          success: function() { } 
         }); 
        } 
       } 
      }); //when 





Imports System.Web.Services 

Public Class Registration 
Inherits System.Web.UI.Page 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
End Sub 

<WebMethod()> 
Public Shared Sub Success() 

    Dim strBreakPoint As String = "qwerty" 

End Sub 

末級

+0

我發到服務器端代碼的一些變化,加上參考System.Web.Services和,我也把它改成一個共享的,現在它的工作原理。感謝大家的幫助。 – 2013-02-27 18:49:53

回答

1

這是因爲你在聲明函數fSuccess,但從來沒有真正把它。

除此之外,你可能想使用Ajax回調,像這樣:

... 
else { 
    alert("Success!"); 
    //Add Server Side Function Here 
    .ajax({ 
     type: "POST", 
     url: "Registration.aspx/Success", 
     success: function() { alert("Success from server"); } 
    }); 
} 
... 
+0

我改變了它,警報觸發,但沒有服務器端代碼。 – 2013-02-27 18:01:40

0

你只是宣佈在該範圍內的功能。您需要在定義後調用它。

fSuccess();