Я использую visual studio 2015, а мой проект - веб-приложение ASP.NET. используя шаблон веб-формы.Как вызвать веб-метод из jQuery ajax?
Я не могу назвать WebMethod из JQuery AJAX
Вот мой Webform ASPX
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="EquipmentSubmitter.WebForm2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "WebForm2.aspx/GetCurrentTime",
data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
Your Name :
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<input id="btnGetTime" type="button" value="Show Current Time"
onclick="ShowCurrentTime()" />
</div>
</form>
</body>
</html>
А вот мой Webform aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace EquipmentSubmitter
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethod]
public static string GetCurrentTime(string name)
{
return "Hello " + name + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
}
}
данную контрольную точку внутри webmethod никогда не достигается.
Есть ли что-нибудь в BundleConfig.cs или где-нибудь еще?
Вы можете попробовать 'URL: "WebForm2/GetCurrentTime"'? Вам не нужно использовать .aspx. – mrogers
Определение 'data:' в вашем вызове ajax отображается некорректно. 'data: {name: $ (" # txtUserName "). val()}' – Steve
К сожалению, ни одно из предложений не было выполнено – Baso