0
컨트롤러 :asp.net MVC 만드는 아약스 호출 JSON은
는public ActionResult EditOrganizationMeta(int id)
{
}
[HttpPost]
[ValidateInput(false)]
public ActionResult EditOrganizationMeta(FormCollection collection)
{
}
보기 : 내가 아약스 전화를 걸 얼마나
function DoAjaxCall() {
var url = '<%= Url.Action("EditOrganizationMeta", "Organization") %>';
//url = url + '/' + dd;
$.post(url, null, function(data) {
alert(data);
});
}
<input type="button" name="something" value="Save" onclick="DoAjaxCall()" />
, 나는 기본적으로 같은 이름 EditOrganizationMeta 두 개의 기능을 가지고는 작업을 수행 양식 콜렉션이 자동으로 전달됩니다. 기본 호출은 메소드 호출과 관련됩니다.
좋아요. 아약스에서 전화를 걸었습니다.이 코드는 더 이상 실행되지 않습니다.
[HttpPost]
[ValidateInput(false)]
public ActionResult EditOrganizationMeta(FormCollection collection)
{
int OrganizationId = 11;
string OrganizationName = "Ministry of Interior";
try
{
string ids = Request.Params // **getting error here some sequence is not there**
.Cast<string>()
.Where(p => p.StartsWith("button"))
.Select(p => p.Substring("button".Length))
.First();
String RealValueOfThatControl = collection[ids];
}
}
catch { }
return RedirectToAction("EditOrganizationMeta", new { id = OrganizationId });
}
나는 당신은 $ .post 호출의 두 번째 매개 변수를 통해 원하는 데이터를 전달해야 할 사후
AJAX 호출로 리디렉션을 할 수 없습니다 (적어도이 방법은 아닙니다). 현재 코드에서 브라우저에 3xx 응답 코드를 보내면 무시됩니다. 당신이해야 할 일은 페이지 업데이트를 위해 성공 핸들러에서 사용하는 데이터 나 마크 업으로 응답하는 것입니다. 반면에 리다이렉트를 원한다면 AJAX 콜을하는 것은 무엇입니까? – tpeczek
그래, 돌아올거야. 나는 json을 돌려 보낼거야? – maztt
JSON을 반환하려면 데이터 객체를 준비하고 JsonResult로 반환합니다 (컨트롤러의 Json() 메서드를 사용할 수 있음) – tpeczek