<script type="text/javascript">
$(document).ready(function () {
function validemail(isemail) {
var emailReg = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return emailReg.test(isemail);
}
$("#<%=txtEmail.ClientID %>").blur(function () {
if ($("#<%=txtEmail.ClientID %>").siblings().size() > 0) {
$("div").remove(".tooltips");
}
});
$("#btnSubmit").click(function () {
var name = $("#<%=txtName.ClientID %>").val();
var email = $("#<%=txtEmail.ClientID %>").val();
var message = $("#<%=txtMessage.ClientID %>").val();
if (name != '' && email != '' && message != '') {
if (validemail(email)) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "http://abcname.azurewebsites.net/Contact.aspx/InsertData",
data: "{'customername':'" + name + "','customeremail':'" + email + "','customermessage':'" + message + "'}",
dataType: "json",
success: function (data) {
var obj = data.d;
if (obj == 'true') {
$("#<%=txtName.ClientID %>").val('');
$("#<%=txtEmail.ClientID %>").val('');
$("#<%=txtMessage.ClientID %>").val('');
alert('Details submitted successfully');
}
},
error: function (result) {
alert("An error occur while submitting details.");
}
});
}
else {
$("#<%=txtEmail.ClientID %>").focus();
$("<div class='tooltips'><span>Invalid Email Address</span></div>").insertAfter("#<%=txtEmail.ClientID %>");
}
}
else {
alert('Please fill all the fields');
}
});
});
</script>
上面的代码完全适用于本地主机,但它不在服务器端。如果.cs文件有任何错误,那么它将显示警告框,但它甚至没有显示警告框“提交详细信息时出错”
答案 0 :(得分:0)
url:&#34; http://abcname.azurewebsites.net/Contact.aspx/InsertData&#34;,
根据URL,我怀疑您使用WebMethod处理WebForms应用程序中的AJAX请求。由于您的URL中有.aspx后缀,请确保您已注释掉RouteConfig.cs中默认存在的以下代码。
//settings.AutoRedirectMode = RedirectMode.Permanent;
但它甚至没有显示警告框&#34;提交详细信息时发生错误&#34;
var obj = data.d;
原因可能是响应已返回,但它不包含名为d的属性或其值不等于'true'。我建议使用工具查看详细响应消息。 Fiddler是可以帮助您实现此目标的常用工具。
此外,您是否从不同的域发送了AJAX请求&#39; http:// abcname .azurewebsites.net&#39;?例如,您发布的代码位于名为&#39; http:// defname .azurewebsites.net&#39;的网站中。如果是,则需要在abcname web app中配置CORS。以下步骤供您参考。