C# 找不到WebMethod Ajax调用404
我正在尝试创建一个网络表单,提交时将发送电子邮件。我创建了一个webmethod,并尝试使用ajax发布。当我提交时,我的ajax是404。这是我的密码。谈到.net,我是一个初学者,我正试着玩一玩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
$(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。决定采取不同的方法解决这个问题。