Ich habe einen Controller wie folgt definiert:Beitrag mehrere Parameter MVC-Controller mit jQuery.post
[AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address address, DataContracts.GeoLocation geoLocation) { return Json("test"); } where DataContracts.Address and DataContracts.GeoLocation are complex types.
Aus meiner Sicht Ich versuche, mit jQuery als solche zu schreiben:
function PostMoreData() { var JsonAddress = { "Building": $('Building').val(), "UnitNumber": $('UnitNumber').val(), "StreetNumber": $('StreetNumber').val(), "StreetName": $('StreetName').val(), "StreetType": $('StreetType').val(), "Suburb": $('Suburb').val(), "State": $('State').val(), "Postcode": $('Postcode').val(), "MonthsAtAddress": $('MonthsAtAddress').val() }; var JsonGeoLocation = { "Latitude": $('Latitude').val(), "Longitude": $('Longitude').val() }; jQuery.post("/AddressValidation/PostMoreData", {address: JsonAddress, geoLocation: JsonGeoLocation}, function(data, textStatus) { if (textStatus == "success") { var result = eval(data); if (result.length > 0) { alert(result); } } }, "json"); }
jedoch Auf dem Controller bekomme ich Nullen.
Es funktioniert, wenn mein Controller nur 1 Argument und ich poste nur ein Objekt.
[AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address address) { return Json("test"); }
function PostMoreData() { var JsonAddress = { "Building": $('Building').val(), "UnitNumber": $('UnitNumber').val(), "StreetNumber": $('StreetNumber').val(), "StreetName": $('StreetName').val(), "StreetType": $('StreetType').val(), "Suburb": $('Suburb').val(), "State": $('State').val(), "Postcode": $('Postcode').val(), "MonthsAtAddress": $('MonthsAtAddress').val() }; jQuery.post("/AddressValidation/PostMoreData", JsonAddress, function(data, textStatus) { if (textStatus == "success") { var result = eval(data); if (result.length > 0) { alert(result); } } }, "json"); }
Irgendwelche Ideen, wie ich mehr als ein Objekt veröffentlichen können?
können Sie einen Beispielcode oder eine Artikelreferenz veröffentlichen, damit wir Ihren Fußspuren folgen können? Ich habe ein ähnliches oder möglicherweise das gleiche Problem, aber Ihre Antwort ist nicht annähernd so hilfreich, wie ich jetzt genauer herausfinden muss, welche Teile des ms Ajax-Frameworks bei dem Versuch, voranzukommen, beginnen. – Maslow
+1 für weitere Erläuterungen. –