【发布时间】:2014-01-27 05:39:24
【问题描述】:
我是 .NET MVC 的新手,所以请多多包涵。
我写了一个函数,当 textarea 控件上有模糊操作时触发:
function extractURLInfo(url) {
$.ajax({
url: "/Popup/Url",
type: "POST",
data: { url: url },
complete: function (data) {
alert(data);
},
success: function (data) {
alert(data);
},
async: true
})
.done(function (r) {
$("#url-extracts").html(r);
});
}
jQuery(document).ready(function ($) {
$("#input-post-url").blur(function () {
extractURLInfo(this.value);
});
});
这很好用,并且会命中控制器:
[HttpPost]
public ActionResult Url(string url)
{
UrlCrawler crawler = new UrlCrawler();
if (crawler.IsValidUrl(url))
{
MasterModel model = new MasterModel();
model.NewPostModel = new NewPostModel();
return PartialView("~/Views/Shared/Partials/_ModalURLPartial.cshtml", model);
}
else
{
return Json(new { valid = false, message = "This URL is not valid." }, JsonRequestBehavior.AllowGet);
}
}
如果 URL 有效,我会得到预期的结果;它会将部分视图返回给 .done() 函数,我只是在代码中显示它。但是,如果 URL 无效,我希望它完成、成功或完成(我一直在玩,看看它会命中哪个,但没有运气!)并对返回的数据做一些事情。我在某个时候触发了完成或成功,但数据是“未定义的”。有人可以帮我解决这个问题吗?
谢谢!
【问题讨论】:
-
stackoverflow.com/questions/18667447/…。使用此链接,您可以传递 json 和部分内容,以便检查错误消息或呈现部分内容。
-
如果没有完成或成功,您的控制台可能有错误。
标签: javascript jquery .net json asp.net-mvc-4