Reputation: 21
I'm sending data from view to controller using AJAX. When AJAX function executes on the controller side I receive only null values. Please tell me my mistake.
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!!');
}
});
Upvotes: 2
Views: 80
Reputation: 1571
First Your need to take value of input field in variables. like this
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
});
Now your controller should like this
[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();
}
put debugger in controller and check values passed from view
Then save it into your database.
Let me know if it works or what error you gou.
Good luck
Upvotes: 1