0

私はasp.net mvc、jquery、およびjqueryプラグインであるtag-itを使用しています。

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 に答える