首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax请求不工作(asp.net-mvc)

Ajax请求不工作(asp.net-mvc)
EN

Stack Overflow用户
提问于 2012-05-23 18:03:33
回答 1查看 2K关注 0票数 1

查看:

代码语言:javascript
复制
@{
    AjaxOptions ajax = new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "sub_id" };
    Layout = null;       
}

<div id="sub_id"></div>

@using (Ajax.BeginForm(ajax))
{
    @Html.TextBox("email");
    <input type="submit" value="подписаться" />
}

控制器:

代码语言:javascript
复制
[HttpPost]
public ContentResult LeftMenuSubscription(string email)
{
    return new ContentResult(){Content = "<script>alert('Thanks')</script>"};
}

“谢谢”提醒节目。

但在div中设置所有页(<title></title><div>...</div>)。

代码语言:javascript
复制
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 

  • connected.

html:

代码语言:javascript
复制
<html>
    <head>
        <title>Главная страница</title>
        <link href="/Content/Site.css" rel="stylesheet" type="text/css">
        <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
        <script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"</script>
        <script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
        <script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
        <script src="/Scripts/jQueryFixes.js" type="text/javascript"></script>
    </head>
    <body>
        ....
        <form action="/" data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-update="#sub_id" id="form0" method="post">
            <input id="email" name="email" type="text" value="">
            <input type="submit" value="подписаться">
        </form>
        ....
    </body>
</html>

可能的问题是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-23 21:36:01

在我看来,您的Ajax选项并不完整。我认为您需要添加您从以下位置请求的操作:

代码语言:javascript
复制
@using (Ajax.BeginForm("ActionName", "ControllerName", ajax))
{
    @Html.TextBox("email");
    <input type="submit" value="подписаться" />
}

在一个测试中运行它,我得到一个弹出警告,这正是应该发生的,因为您返回的脚本如下:<script>alert('Thanks')</script>

如果只想让div显示Thanks,那么就不要返回脚本标记

如果您只想在div中显示感谢一词,请使用此选项

代码语言:javascript
复制
[HttpPost]
public ContentResult Test(string email) 
    return new ContentResult() { Content = "<span>Thanks</span>" };
}

使用修改后的表单,这对我来说非常有效

代码语言:javascript
复制
@using (Ajax.BeginForm("Test", "Test", ajax))
{
    @Html.TextBox("email");
    <input type="submit" value="Save" />
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10717664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档