如何通过Jquery Ajax Get将对象传递给MVC控制器 - c#

我是jquery新手,无法解决以下问题:我想将一个对象传递给我的mvc应用程序中的一个控制器。这是到目前为止我得到的:

function enterPressed() {
    $(function () {
        $('#textBox').keypress(function (e) {

            var code = e.keyCode ? e.keyCode : e.which;
            if (code == 13) {
                doSomethingElse(textBox.value)

            }
        });
    });
}

function doSomethingElse(p) {
    $.ajax({
        type: 'GET',
        data: {string: p},
        url: '"Control/AddControl/Index"',
        success: function (data) { alert(p) },
        error: function (errorData) { alert("fail") }
    });
    return true;

但是,每当我按Enter键时,我都会失败。我的控制器位于〜/ Controllers / Control / AddControl中。你们有没有看到这个问题?

我的C#代码:

  public class AddControlController : Controller
{
    //
    // GET: /AddControl/


    public ActionResult Index(string control)
    {
        return RedirectToAction("ShowControl");
    }
}

参考方案

您应该按照预期的方式将值名称更改为control。您也可以使用@Url.Action()助手来设置url参数。

$.ajax({
        type: 'GET',
        data: { control : p},
        url: '@Url.Action("Index","AddControl")',
        success: function (data) { alert(p) },
        error: function (errorData) { alert("fail") }
    });

最后,您的操作无法返回带有Ajax响应的重定向操作。
如果要在成功响应后进行重定向,则可以在客户端进行重定向。

AJAX-每当调用AJAX脚本时,JavaScript就会中断 - javascript

我雇用了一名开发人员来帮助完成某些工作,他主要专注于PHP,并尝试了这种javascript。每当以下AJAX脚本将HTML重新加载到DOM中时,它都会中断页面​​。它通过Codenigniter调用了一个函数以重新加载页面中的view。一旦发生这种情况,所有的javascript将不再起作用。我似乎找不到能帮助解决此问题的解决方案。请帮忙。注意:理想情况下…

ajax:从json数组中提取json对象 - javascript

JSON(来自api的内部数组):[{"id":"001", "name":"john", "age":"40"}, {"id":"002", "name":"jane&…

AJAX-如何在弹出菜单中运行脚本 - javascript

我有一个弹出菜单,此菜单打开并显示文本。我想要的是能够将控制器附加到弹出菜单。例如:我希望显示一个编辑配置文件弹出窗口,其中包含编辑该配置文件的所有必要输入。userprofile_view.php: <div class="upload"> <?php $data = array('id' =>…

如何正确将php变量传递给Ajax调用? - javascript

我有三个文件。我的主要php文件,functions.php,然后是我的js文件。如何将这个php变量传递给js?这是我的主要PHP文件的代码function ccss_show_tag_recipes() { global $post; global $wp; $html = ''; $url = home_url( $wp->r…

ajax正在加载页面以返回POST请求 - javascript

当我通过ajax发出“ POST”请求时,返回请求时页面正在加载。我们不使用ajax阻止整个页面重新加载吗?这是我的html代码:<form method="post"> <div align="center" class="col-md-10"> <input typ…