Javascript 在asp.net中,静态方法不是由AJAX方法生成的
我想通过asp.net中客户端的AJAX函数调用服务器端的静态方法。我也在调试模式下看到过,但没有进入该方法,同时在windows控制台中也没有显示错误,对于referegoogle,语法也是正确的。然后我不明白为什么AJAX方法不调用静态方法 这是我的密码。这是客户端代码Javascript 在asp.net中,静态方法不是由AJAX方法生成的,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我想通过asp.net中客户端的AJAX函数调用服务器端的静态方法。我也在调试模式下看到过,但没有进入该方法,同时在windows控制台中也没有显示错误,对于referegoogle,语法也是正确的。然后我不明白为什么AJAX方法不调用静态方法 这是我的密码。这是客户端代码 <input type="submit" id="submit_mail" value="Send" /> <script> $(function () { $.ajax({
<input type="submit" id="submit_mail" value="Send" />
<script>
$(function () {
$.ajax({
type: "POST",
url: "contact.aspx/SendMail",
data: JSON.stringify({ name: $('#txt_name').val(), email: $('#txt_emailID').val(), subject: $('#txt_subject').val(), message: $('#txt_content').val() }),
success: OnSuccess,
failure: function () {
alert("There is some problem in server to contact with us....Please contact with phone number...!!!");
}
});
});
function OnSuccess() {
$find("mpe").show();
return false;
}
</script>
现在的问题是,只有在AJAX调用之后,才会触发此静态方法。尝试在AJAX调用中使用这些方法。contentType:“application/json;charset=utf-8”,数据类型:“json”,您不需要json的可能副本。stringify@The_Outsider……我做了这件事,但同样的问题也出现了。您应该添加[HttpPost]在您的操作上,我建议再创建一个操作,它将获得post请求,然后您可以在您创建的额外操作中调用mail操作,并在AJAX调用中使用这些操作。contentType:“application/json;charset=utf-8”,数据类型:“json”,您不需要json的可能副本。stringify@The_Outsider……我做了这件事,但同样的问题也出现了。您应该添加[HttpPost]关于你的操作,我建议再创建一个操作,它将获得post请求,然后你可以在创建的额外操作中调用mail操作
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static void SendMail(string name, string email, string subject, string message)
{
//here is the code
}