मैंने इस तरह जावास्क्रिप्ट में एक समारोह बनाया:
function addNewManufacturer() {
var name = $("#id-manuf-name").val();
var address = $("#id-manuf-address").val();
var phone = $("#id-manuf-phone").val();
var sendInfo = {
Name: name,
Address: address,
Phone: phone
};
$.ajax({
type: "POST",
url: "/Home/Add",
dataType: "json",
success: function (msg) {
if (msg) {
alert("Somebody" + name + " was added in list !");
location.reload(true);
} else {
alert("Cannot add to list !");
}
},
data: sendInfo
});
}
मैंने jquery.json-2.3.min.js
स्क्रिप्ट फ़ाइल को कॉल किया और मैंने इसे toJSON(array)
विधि के लिए उपयोग किया।
नियंत्रक में, मेरे पास यह Add
कार्रवाई है
[HttpPost]
public ActionResult Add(PersonSheets sendInfo) {
bool success = _addSomethingInList.AddNewSomething( sendInfo );
return this.Json( new {
msg = success
});
}
लेकिन sendInfo
जैसा कि विधि पैरामीटर शून्य हो जाता है।
आदर्श:
public struct PersonSheets
{
public int Id;
public string Name;
public string Address;
public string Phone;
}
public class PersonModel
{
private List<PersonSheets> _list;
public PersonModel() {
_list= GetFakeData();
}
public bool AddNewSomething(PersonSheets info) {
if ( (info as object) == null ) {
throw new ArgumentException( "Person list cannot be empty", "info" );
}
PersonSheets item= new PersonSheets();
item.Id = GetMaximumIdValueFromList( _list) + 1;
item.Name = info.Name;
item.Address = info.Address;
item.Phone = info.Phone;
_list.Add(item);
return true;
}
}
जब डेटा POST के साथ भेजा गया था तो मैं एक्शन विधि में कैसे कर सकता था?
मैं नहीं जानता कि कैसे उपयोग करना है। इसके अलावा, JSON के माध्यम से प्रतिक्रिया (ajax) को वापस भेजना संभव है?