2011-05-30 120 views
1

我在這個論壇上讀了很多關於這個,但我不能讓它工作。問題AJAX與JQuery和ASP.NET

我想用我的asp.net web應用程序的AJAX功能

因此,這裏是JavaScript的VerifMain.aspx

$(document).ready(function() { 

//menu() 
$("#btnImprimer").click(function() { 
    $.ajax({ 
     type: "POST", 
      url: "/VerifMain.aspx/Lol", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (msg) { 
       alert("Good"); 
      }, 
      error: function (msg) { 
       alert(msg); 
      } 
     }); 
    }); 
}); 

這裏是在VerifMain.aspx.vb服務器代碼

Partial Public Class _Default 
    Inherits Page 
    <WebMethod()> _ 
    Public Shared Sub Lol() 
     //TO DO 
    End Sub 
End Class 

所以,當我試圖調用此方法,它會在錯誤功能和警報「的翻譯:」

我必須使用JQuery,因爲我工作的地方沒有安裝Microsoft Ajax。

我真的需要幫助,我不明白我做錯了什麼,我堅持ie7只有幾乎每個網站都被阻止。

謝謝!

祝您有美好的一天!

編輯: 大家好 謝謝你的時間!

我通過刪除部分類來修復它。

所以現在它只是一個服務器代碼中的靜態web方法,它的工作原理。

<WebMethod()> _ 
Public Shared Sub Lol() 
    //TO DO 
End Sub 

說實話,我不明白它是如何工作

,但感謝你的快速回復。

這是最好的網站,我將在這裏度過一些空閒時間,現在;)

+1

您可以發佈解決方案你發現你的問題的答案是將其標記爲接受的答案! :) – 2011-05-30 15:24:35

回答

2

嘗試,而不是調用此方法只是一次測試更多:

<WebMethod()> _ 
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _ 
Public Shared Function GetDate() As String 
    Return Date.Now.ToString() 
End Function 

替換URL與此:

url: "/VerifMain.aspx/GetDate", 
1

ASP.NET AJAX修改了3.5中返回的JSON。您需要訪問d媒體資源,請參閱http://encosia.com/never-worry-about-asp-net-ajaxs-d-again。我不知道你在做什麼錯誤,但你會看到它,如果你改變了代碼,什麼是下面:

$(document).ready(function() { 

//menu() 
$("#btnImprimer").click(function() { 
    $.ajax({ 
     type: "POST", 
      url: "/VerifMain.aspx/Lol", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (data) { 
       alert("Good"); 
      }, 
      error: function (data) { 
       alert(data.d); 
      } 
     }); 
    }); 
}); 
0

只是檢查消息:

error: function (msg) { 
       var i,s=""; 
       for(i in msg) s += (s?"\n":"") + i + ": " + msg[i]; 
       alert(s); 
      }