我正在嘗試關注this article以使用jQuery AJAX從webmethod獲取值。我已將它縮減爲單一輸入形式。msg.d from asp.net webmethod is undefined
問題是,它總是失敗,msg.d總是未定義。在Firebug中,我可以看到POST和數據字符串格式正確。我不能,因爲我一生都在弄清楚爲什麼這一直會失敗。在我的webmethod中設置的斷點被擊中,但頁面在完全運行之前顯示失敗消息。
任何想法發生了什麼?這裏是我的代碼:
基本形式:
<div id="contact">
<ul>
<li><div>Name*</div>
<input name="ctl00$ContentPlaceHolder1$txtName" type="text" id="ctl00_ContentPlaceHolder1_txtName" />
</li>
</ul>
<ul class="submit">
<li>* required</li>
<li class="submit_button">
<input type="submit" name="ctl00$ContentPlaceHolder1$btnSubmit" value="Submit" id="ctl00_ContentPlaceHolder1_btnSubmit" />
</li>
</ul>
</div>
的jQuery:
<script type="text/javascript">
jQuery(document).ready(function() {
$("#ctl00_ContentPlaceHolder1_btnSubmit").click(function() {
var name = $("#ctl00_ContentPlaceHolder1_txtName");
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json",
url: "Default.aspx/SendEmail",
data: "{'name':'" + name.val() + "'}",
success: function (msg) {
alert("success");
alert(msg.d);
},
error: function (msg) {
alert("fail");
alert(msg.d);
}
});
});
});
</script>
的WebMethod:
[WebMethod]
public static string SendEmail(string name)
{
return "success";
}
什麼是故障消息? – lante
@lante:警報中的失敗消息是'未定義的' – Brett
您是否正在使用ASP.Net 2.0? – stuartd