0

我使用 asp.net mvc、jquery 和tag-it,它是 jquery 插件。

我想将一些值从 asp.net mvc 传递给 jquery,然后传递给我的控制器,我该怎么做?

这是我的 javascript

<script type="text/javascript">
$(function () {
    var sampleTags = new Array();
    $.ajax({
        url: '/mp3/TagSuggestion',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        failure: function () { alert('Error contacting service!'); },
        success: function (data) {
            for (var j = 0; j < 5; j++) {
                sampleTags[j] = data[j];
            }
            $('#allowSpacesTags').tagit({
                availableTags: sampleTags,                
                allowSpaces: true
            });
        }
    });
});

这是我的控制器

    public JsonResult TagSuggestion(string id)

    {           

        IQueryable<string> tabs = mp3.TagSuggestion(id);

        return Json(tabs, JsonRequestBehavior.AllowGet);

    }

这是我的模特

        public IQueryable<string> TagSuggestion(string term)

    {

        IQueryable<string> tabs = from s in db.tblTags.Where(c => c.Title.Contains(term)) select s.Title;

        return tabs;

    }

这是我的 HTML

<form>

        <input type="text" name="tags" id="mySingleField />
        <input type="submit" value="Submit">
    </form>

谢谢

4

1 回答 1

0

在函数中将类型从 POST 设置为 GET。要发送当前模型的 id,请在当前函数中定义 data 参数,如下所示:

$(function () {
    var sampleTags = new Array();
    $.ajax({
        url: '/mp3/TagSuggestion',
        type: 'GET',
        data: { id : $("#mySingleField").val() },
        contentType: 'application/json; charset=utf-8',
        failure: function () { alert('Error contacting service!'); },
        success: function (data) {
            for (var j = 0; j < 5; j++) {
                sampleTags[j] = data[j];
            }
            $('#allowSpacesTags').tagit({
                availableTags: sampleTags,                
                allowSpaces: true
            });
        }
    });
});

希望这会解决

于 2012-09-16T07:02:29.717 回答