2016-02-11 2 views
2

Я отправляю данные с просмотра на контроллер с помощью AJAX. Когда функция AJAX выполняется со стороны контроллера, я получаю только нулевые значения. Пожалуйста, скажите мне мою ошибку.отправка данных через ajax на контроллер

public void  save_bookmark([Bind(Include="name,tags,link,email,admin,start_bookmark[],end_bookmark[]")]bookmarking obj_book) 
    { 
     bookmark obj = new bookmark(); 
     start_bookmark start_obj = new start_bookmark(); 
     end_bookmark end_obj = new end_bookmark(); 
     obj.name = obj_book.name; 
     obj.link = obj_book.link; 
     obj.tags = obj_book.tags; 
     obj.user = obj_book.admin; 
     obj.check = true; 
     db.bookmarks.Add(obj); 
     db.SaveChanges(); 
     /*foreach(int element in obj_book.start_bookmark) 
     { 
      start_obj.bookmarkid=int.Parse(obj); 
      start_obj.start= 
     }*/ 
    } 


$.ajax({ 
    url: '@Url.Action("save_bookmark", "chopaal")', 
    type: "POST", 
    contentType: "text/html", 
    data: { name:'#bookmark_name', tags:'#bookmark_tags', email:'#bookmark_email', link:'#link', start_bookmark:'#start', end_bookmark:'#end'}, 
    success: function() { 
     window.alert('success!!'); 
    } 
}); 
+0

«#bookmark_name» это селектор или фактическое значение – shu

+0

#bookmark_name является идентификатор поля ввода в HTML странице –

+0

Пожалуйста вывесить действие контроллера, а также. – jasonwarford

ответ

1

Прежде всего, необходимо принять значение поля ввода в переменных. как этот

var var1= $("[id$=bookmark_name]").val(); 
    var var2= $("[id$=bookmark_tags]").val(); 
    var var3= $("[id$=bookmark_email]").val(); 
    var var4= $("[id$=link]").val(); 
    var var5 = $("[id$=start]").val(); 
    var var6= $("[id$=end]").val(); 

      $.ajax({ 
        type: 'POST', 
        url: "/ControllerName/save_bookmark", 
        contentType: "application/json; charset=utf-8", 
        data: JSON.stringify({ bookmark_name: var1, bookmark_tags: var2,bookmark_email: var3, link: var4, start: var5, end: var6 }), 
        success: function (data) { 
         alert("sucess"); 
        }, 
        async: false 
       }); 

Теперь ваш контроллер должен нравится этот

[HttpPost] 
    public void save_bookmark(string bookmark_name, string bookmark_tags, string bookmark_email, string link, string start, string end) 
    { 
     bookmark obj = new bookmark(); 
     //here you can get your data 
     obj.name = bookmark_name; 
     obj.tags = bookmark_tags; 
     . 
     . 

     db.bookmarks.Add(obj); 
     db.SaveChanges(); 
    } 

пут отладчика в контроллер и проверьте значения, передаваемые из поля зрения

Затем сохранить его в базу данных.

Сообщите мне, если это работает или какая ошибка вы gou.

Успехов

+0

благодарит вас за помощь –

+0

Работает ли он для вас? –

Смежные вопросы