代码之家  ›  专栏  ›  技术社区  ›  Jack Marchetti

如何将文本框值传递给jquery.ajax方法?

  •  0
  • Jack Marchetti  · 技术社区  · 15 年前

    以下是我的jquery方法:

    $.ajax({
        type: "GET",
        url: "Home/GetSocialMentionBlogs/"
        dataType: "json",
        success: function (data) {
            var obj = JSON.parse(data);
            $.each(obj.items, function (i, item) {
                $("<strong><p>" + item.title + "</strong></p>").appendTo("#blogs");
                if (i == 5) return false;
            });
        }
    });
    

    我要做的是,当用户单击一个按钮,调用他的方法,并传入一个文本框的值,这样URL现在将是:

    url: Home/GetSocialMentionBlogs/value from text box
    

    当然,我需要对其进行url编码,但到目前为止,我不知道如何将值传递给这个.ajax函数。

    我对jquery和mvc完全陌生,所以请原谅我对这个主题的无知。

    2 回复  |  直到 15 年前
        1
  •  4
  •   Josh Stodola    15 年前

    好吧,如果输入字段有一个“id”值,你只需做

    url: "Home/GetSocialMentionBlogs/" + $('#inputFieldId').val(),
    

    如果你只知道名字,那么你可以:

    url: "Home/GetSocialMentionBlogs/" + $('input[name=inputFieldName]').val(),
    

    你只需要这么做,还是我遗漏了一些细节?

    对于URL编码,只需使用javascript encodeURIComponent() 功能。

        2
  •  2
  •   ctrlShiftBryan    15 年前
    $.ajax({
        type: "GET",
        url: "Home/GetSocialMentionBlogs/" + $('#textBoxID').val(),
        dataType: "json",
        success: function (data) {
            var obj = JSON.parse(data);
            $.each(obj.items, function (i, item) {
                $("<strong><p>" + item.title + "</strong></p>").appendTo("#blogs");
                if (i == 5) return false;
            });
        }
    });