C# 找不到WebMethod Ajax调用404

C# 找不到WebMethod Ajax调用404,c#,jquery,.net,ajax,C#,Jquery,.net,Ajax,我正在尝试创建一个网络表单,提交时将发送电子邮件。我创建了一个webmethod,并尝试使用ajax发布。当我提交时,我的ajax是404。这是我的密码。谈到.net,我是一个初学者,我正试着玩一玩 $(document).ready(function() { $('.validate-form').submit(function (e) { e.preventDefault(); var first_name = document.getElementById("first_n

我正在尝试创建一个网络表单,提交时将发送电子邮件。我创建了一个webmethod,并尝试使用ajax发布。当我提交时,我的ajax是404。这是我的密码。谈到.net,我是一个初学者,我正试着玩一玩

$(document).ready(function() {
$('.validate-form').submit(function (e) {
    e.preventDefault();
    var first_name = document.getElementById("first_name").value;
    var last_name = document.getElementById("last_name").value;

    var email = document.getElementById("email").value;
    var data = "{'first name': '" + first_name + "', 'last name': '" + last_name + "', 'fromEmail': '" + 
               email + "'}";
    console.log("data", data)
    $.ajax({
        type: "POST",
        url: "SendMessage.aspx/SendMessages",
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    }).fail(function (xhr, ajaxOptions, thrownError) {
        console.log(xhr.status);
        console.log(thrownError);
    })
});
公共部分类发送:System.Web.UI.Page
{
[网络方法]
公共静态void sendmages(字符串first\u name、字符串last\u name、字符串email、字符串注释)
{
const string SERVER=“zebra.aa.org”;
常量字符串TOEMAIL=”adhsaj@am.org";
MailAddress from=新邮件地址(电子邮件);
邮寄地址至=新邮寄地址(TOEMAIL);
MailMessage=新的MailMessage(从,到);
message.Subject=“网站联系人查询来源”+姓名+姓氏;
message.Body=“消息来源:“+first\u name+last\u name+”at”+
电子邮件+“\n\n”+评论;
message.IsBodyHtml=false;
SmtpClient=新的SmtpClient(服务器);
客户端。发送(消息);
控制台写入线(消息);
}
}

看起来问题在于URL。客户端找不到web方法,因为URL不存在。试着改变

url: "SendMessage.aspx/SendMessages"


看起来问题在于URL。客户端找不到web方法,因为URL不存在。试着改变

url: "SendMessage.aspx/SendMessages"


尝试将您的URl更新为
Send.aspx/SendMessages

而且最好使用

JSON.stringify({ first_name : first_name, last_name : last_name, email : email, comments : comments })

您没有以方法需要的格式传递所需的数据。例如,我看到第一个参数是aspx方法上的first_name,但是您的JSON在字符中有一个空格。请同时更正并检查。

尝试将您的URl更新为
Send.aspx/SendMessages

而且最好使用

JSON.stringify({ first_name : first_name, last_name : last_name, email : email, comments : comments })

您没有以方法需要的格式传递所需的数据。例如,我看到第一个参数是aspx方法上的first_name,但是您的JSON在字符中有一个空格。请同时更正并检查。

您的webmethod正在查找“SendMessage.aspx”,但您的页面可能只是名为“Send”
public分部类Send:System.Web.UI.Page
您的webmethod正在查找'SendMessage.aspx',但您的页面可能只是命名为'Send'<代码>公共部分类发送:System.Web.UI.Page我尝试将其更改为建议的URL,但仍然是404。我的表单在SendMessage.aspx中,我的后端代码在SendMessage.aspx.cs中。我尝试将其更改为建议的URL,但仍然是404s。我的表单在SendMessage.aspx中,我的后端代码在SendMessage.aspx.cs中。更新的URL不起作用,并修复了JSON。决定采用不同的方法解决问题。更新的URL无效,并修复了JSON。决定采取不同的方法解决这个问题。