Ajax 在 ASP .NET c# 中使用 JQuery
Ajax using JQuery in ASP .NET c#
我正在尝试在 asp .net c# 中使用 JQuery ajax。我使用的代码是 ...
HTML 表格:
<div>
Your Name :
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<input id="btnGetTime" type="button" value="Show Current Time"
onclick = "ShowCurrentTime()" />
</div>
JQuery 部分:
<script type="text/javascript">
function ShowCurrentTime() {
//alert(window.location.pathname);
$.ajax({
type: "POST",
url: "Display.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>
CS 部分:
using System.Web.Services;
This part below is under partial class which inherits from Page class.
[WebMethod]
public static string GetCurrentTime(string name)
{
return "Hello "+ name +"! " + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
问题:
它不工作。如果我缺少任何设置或任何名称 space,请告诉我。或者任何东西。 URL 我输入 ajax 调用是正确的,因为我通过
var 路径名 = window.location.pathname;我在调用 ajax 时也提供了数据。
可能会改变
failure: function (response) {
alert(response.d);
}
至
error: function (response) {
alert(response.d);
}
将有助于发现问题。
我在文档中没有看到失败回调 - http://api.jquery.com/jquery.ajax/
JQuery 有一些错误
$("#< %=txtUserName.ClientID%>")[0].value
需要
$("#<%=txtUserName.ClientID%>")[0].value
或
$("#<%=txtUserName.ClientID%>").val()
我可以立即看到的东西:
- $.ajax 不接受 "failure" 参数,而是 "error." Even
那么,您应该改用 .done() 和 .fail() (请参阅
http://api.jquery.com/jQuery.ajax/)
- 您的错误处理函数将在您的页面方法时被触发
抛出异常。第一个参数是一个 jqXHR 对象,而不是一个
JSON 来自 .NET 的响应(参见与 #1 相同的 link)。
- 您的页面方法不应位于页面 class 下方,而应位于页面内。
我正在尝试在 asp .net c# 中使用 JQuery ajax。我使用的代码是 ...
HTML 表格:
<div>
Your Name :
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<input id="btnGetTime" type="button" value="Show Current Time"
onclick = "ShowCurrentTime()" />
</div>
JQuery 部分:
<script type="text/javascript">
function ShowCurrentTime() {
//alert(window.location.pathname);
$.ajax({
type: "POST",
url: "Display.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>
CS 部分:
using System.Web.Services;
This part below is under partial class which inherits from Page class.
[WebMethod]
public static string GetCurrentTime(string name)
{
return "Hello "+ name +"! " + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
问题: 它不工作。如果我缺少任何设置或任何名称 space,请告诉我。或者任何东西。 URL 我输入 ajax 调用是正确的,因为我通过 var 路径名 = window.location.pathname;我在调用 ajax 时也提供了数据。
可能会改变
failure: function (response) {
alert(response.d);
}
至
error: function (response) {
alert(response.d);
}
将有助于发现问题。 我在文档中没有看到失败回调 - http://api.jquery.com/jquery.ajax/
JQuery 有一些错误
$("#< %=txtUserName.ClientID%>")[0].value
需要
$("#<%=txtUserName.ClientID%>")[0].value
或
$("#<%=txtUserName.ClientID%>").val()
我可以立即看到的东西:
- $.ajax 不接受 "failure" 参数,而是 "error." Even 那么,您应该改用 .done() 和 .fail() (请参阅 http://api.jquery.com/jQuery.ajax/)
- 您的错误处理函数将在您的页面方法时被触发 抛出异常。第一个参数是一个 jqXHR 对象,而不是一个 JSON 来自 .NET 的响应(参见与 #1 相同的 link)。
- 您的页面方法不应位于页面 class 下方,而应位于页面内。