在我的母版页中,我有
<head>
<script type="text/javascript">
$(document).ready(function() {
$("#result").click(function() {
$.ajax({type: "POST",url: "ws.aspx/HelloWorld",data: "{}",contentType: "application/json; charset=utf-8",dataType: "json",success: function(msg) {
$("#result").text(msg.d);
}
});
});
</script>
</head>
<body>
<form>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />
<div name="result" id="result">long clicky text</div>
</form>
</body>
在我的ws.aspx页面中,它没有母版页引用,除
外是空的<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="ws.aspx.vb" Inherits="CRTWebApp.ws" %>
<html>
<head>
</head>
<body>
</body>
在我的ws.aspx.vb文件中,它被声明为
<System.Web.Services.WebService()> _
Partial Public Class ws
Inherits System.Web.UI.Page
<System.Web.Services.WebMethod()> _
<System.Web.Script.Services.ScriptMethod(ResponseFormat:=Script.Services.ResponseFormat.Json)> _
Public Shared Function HelloWorld() As String
Return "hello world"
End Function
End Class
在萤火虫中,如果我点击“长时间点击文字”就会发生这种情况
POST HelloWorld 404 Object Not Found
ws.aspx在同一个文件夹中,它吐出的网址是正确的,我可以浏览到那个页面(虽然它是空的..)
这里是请求和回复
Response Headers
Server Microsoft-IIS/5.1
Date Wed, 15 Sep 2010 21:43:37 GMT
WWW-Authenticate Negotiate NTLM
Connection close
Content-Length 4431
Content-Type text/html
Request Headers
Host localhost
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9 (.NET CLR 3.5.30729)
Accept application/json, text/javascript, */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Content-Type application/json; charset=utf-8
X-Requested-With XMLHttpRequest
Referer http://localhost/CRTWebApp/SysAdmin/cat.aspx?lang=en
Content-Length 2
Cookie ASP.NET_SessionId=clvadayboyqwilizioi4ks55
Pragma no-cache
Cache-Control no-cache
答案 0 :(得分:1)
我不确定为什么除了路径错误之外你会得到404。您应该考虑使用Web服务。阅读这篇文章:
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/
答案 1 :(得分:0)
实际页面是否没有结束HTML标记?
</html>
答案 2 :(得分:0)
您应该创建 ASMX 页面,而不是创建ASPX网页。如果单击解决方案树右键并选择“添加”,“新项”,然后在Web模板列表中选择“Web服务”模板(最后一个),则可以向Web应用程序添加新服务。 / p>
如果您使用的是旧版Visual Studio,请以http://support.microsoft.com/kb/301273或http://www.vbdotnetheaven.com/UploadFile/mmehta/SimpleWebService04262005065102AM/SimpleWebService.aspx为例。