我在这个论坛上看到了很多关于此的内容,但我无法让它发挥作用。
我想在我的asp.net web应用程序上使用ajax函数
所以这是VerifMain.aspx上的Javascript
$(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
因此,当我尝试调用此方法时,它会进入错误函数并且警报为“[object Object]”
我必须使用JQuery,因为我工作的地方没有安装Microsoft Ajax。
我真的需要帮助,我不明白我做错了什么,我只是坚持使用ie7,几乎每个网站都被阻止了。
谢谢!
度过美好的一天!!
编辑: 嗨,大家好 谢谢你的时间!
我通过删除分部类来修复它。
所以现在它只是服务器代码中的一个静态Web方法,它可以工作。
<WebMethod()> _
Public Shared Sub Lol()
//TO DO
End Sub
说实话,我不明白它是如何运作的
但感谢您的快速回复。
这是最好的网站,我现在将在这里度过一些空闲时间;)
答案 0 :(得分:2)
尝试调用此方法,而不是再次测试它:
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Shared Function GetDate() As String
Return Date.Now.ToString()
End Function
将URL替换为:
url: "/VerifMain.aspx/GetDate",
答案 1 :(得分: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);
}
});
});
});
答案 2 :(得分:0)
只需检查一下msg:
error: function (msg) {
var i,s="";
for(i in msg) s += (s?"\n":"") + i + ": " + msg[i];
alert(s);
}