$(function () {
$('input#UserName').blur(function () {
var username = $('input#UserName').val();
$.ajax(
{
type: "POST",
url: "Profile/CheckAvailability",
data: "username=" + username,
success: function (result) {
//Some code here
},
error: function () {
alert("Sorry! We could not receive your feedback at this time.");
}
});
});
});
以及Profile控制器上的代码
[HttpPost]
public JsonResult CheckAvailability(string username)
{
bool isAvailable = false;
//Some code here
return Json(new {success = isAvailable});
}
每次alert("Sorry! We could not receive your feedback at this time.");
被触发。
感谢。
答案 0 :(得分:1)
以下是一些提示:
//Some code here
的部分)。这可以通过逐步调试和调试来验证。确保始终对您的请求参数进行URL编码,并且绝不使用字符串连接:
data: { username: username },
永远不要在你的javascript文件中加密网址。在处理网址时始终使用网址助手(如果这是一个单独的JavaScript,那么您可以在视图中使用全局js变量集):
url: '<%= Url.Action("Profile", "CheckAvailability") %>',
使用FireBug查看服务器发送和接收的内容。
答案 1 :(得分:0)
尝试将dataType设置为“json”,因为您指定的那个无效。来自jquery文档的有效数据类型:xml,json,jsonp,html,text。
查看有关ajax错误处理的网址:jQuery Ajax error handling, show custom exception messages