.net 2.0 ajax jquery pagemethod 404 объект не найден - PullRequest
0 голосов
/ 16 сентября 2010

на моей главной странице, у меня есть

<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

в firebug, если я нажму "длинный клик-текст", вот что произойдет

POST HelloWorld 404 Object Not Found

ws.aspx находится в той же папке, URL, который он выдает, является правильным, я могу перейти на эту страницу (хотя она пуста ..)

здесь запрос и ответ

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

Ответы [ 3 ]

1 голос
/ 16 сентября 2010

Я не уверен, почему вы получите 404, кроме пути, который будет неправильным.Вы должны изучить использование веб-службы.Прочитайте эту статью:

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

0 голосов
/ 16 сентября 2010

Вместо создания веб-страницы ASPX вы должны создать страницу ASMX .Вы можете добавить новый сервис в свое веб-приложение, если щелкнете правой кнопкой мыши по дереву решений и выберите «Добавить», «Новый элемент», а затем выберите «Веб-сервис» (последний) в списке веб-шаблонов.1003 *

Если вы используете старую версию Visual Studio, см. http://support.microsoft.com/kb/301273 или http://www.vbdotnetheaven.com/UploadFile/mmehta/SimpleWebService04262005065102AM/SimpleWebService.aspx в качестве примера.

0 голосов
/ 16 сентября 2010

Нет ли на текущей странице закрывающего HTML-тега?

</html>
...