我在簡單jquery.ajax /例如的WebMethod不工作 - 如何解決
http://www.aspsnippets.com/Articles/Calling-ASPNet-WebMethod-using-jQuery-AJAX.aspx
的現場演示作品在網站上這個簡單的WebMethod例子。我下載了示例代碼並將代碼複製到我的測試webapp中,如下所示 - 除了我的示例應用程序不工作。我在我的(VS2013)示例應用程序的腳本文件夾中有相同的jquery-1.3.2.min.js(我在此文件夾中有幾個jQuery腳本)。
這裏是從我的示例應用程序的客戶端腳本/標記代碼(WebForm3是起始頁)
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>WebForm3</title>
<script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type = "text/javascript">
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "WebForm3.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>
這裏是背後的代碼 - 運行沒有錯誤時的頁面 - 只要警報未顯示 - 我是不正確地引用ajax中的網址?
public partial class WebForm3 : 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();
}
}
謝謝您的回覆 - 我想你的修改ShowCurrentTime()函數,並收到此錯誤消息:HTTP在17行未處理的異常,列13://本地主機:62595/WebForm3.aspx 0x800a01b6 - JavaScript運行錯誤:對象不支持屬性或方法'val'我需要不同的jquery ... js文件嗎? –
嘿沒問題,我會切換回.value然後只是確認它裏面的值是一個字符串或你期望的。我將它從.value更改爲.val()的唯一原因是因爲jQuery僅支持.val()從元素中檢索值,但如果它給了您一個錯誤,我會嘗試將其更改回來,看看會發生什麼。 –
我切換回.value() - 給我錯誤信息。然後嘗試沒有parens,我回來了一個平方,沒有得到任何形式的錯誤信息或任何東西。你有沒有嘗試過這個例子,看看它是否可行? –