As I am working on Asp.Net MVC Application, in my application I am using jQuery.POST
method to submit a form.
e.g.
jQuery.post(\'/Product/Sa
What about using the Url.Action method to build your calling URL? You can include the additional data you need that way.
<%: Url.Action('Save', 'Product', new { "ProductID", your product id }) %>
This would replace the hard-coded URL in your jQuery.post method call.
How about:
var url = '<%= Html.BuildUrlFromExpression<MyController>(c => c.Save(":productId")) %>';
You could later replace the url with the actual value in your post URL.
url.replace(':productId', $productId);
You could use the following plugin to serialize the form into a JSON object and add another parameters:
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
like this:
var data = $('form').serializeObject();
data['ProductId'] = '123';
$.post('<%= Url.Action("Save", "Product") %>', data, function (data) {
alert('Product Added Successfully.');
});