in my master page, i have
<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>
in my ws.aspx page, which has no master page references, and is empty except for
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="ws.aspx.vb" Inherits="CRTWebApp.ws" %>
<html>
<head>
</head>
<body>
</body>
in my ws.aspx.vb file it is declared like this
<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
in firebug, if i click on "long clicky text" this is what happens
POST HelloWorld 404 Object Not Found
ws.aspx is in the same folder, the url it spits out is the correct one, i can surf to that page (though it is empty..)
here is request and response
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
Instead of creating of ASPX web page you should create a ASMX page. You can add new service to your Web Application if you click on the solution tree right mouse button and choose "Add", "New Item" and then choose "Web Service" template (the last one) on the list of Web Templates.
If you use old version of Visual Studio see http://support.microsoft.com/kb/301273 or http://www.vbdotnetheaven.com/UploadFile/mmehta/SimpleWebService04262005065102AM/SimpleWebService.aspx as an example.