나는 MVC 컨트롤러 방법은 다음과 같이 정의했다이 내 로컬에서 작동다중 바디 매개 변수가있는 MVC 게시 메서드, 왜 내가 404를 얻고 있습니까? JQuery와 같이 호출</p> <pre><code>[HttpPost] public ActionResult EndBatchForConditions(string a, int b) { ... } </code></pre> <p>:
$.ajax({
type: "POST",
url: url,
data: {
a: $form.find('#aCtl').val(),
b: $form.find('#bCtl').val()
},
success: function (data, textStatus, jqXHR) {
...
},
error: showError
});
, 그리고 약 6 개월 동안 우리의 테스트 및 프로덕션 시스템에서 일하고있다 .
우리는 이것을 자신의 웹 사이트에서 다른 웹 사이트의 응용 프로그램으로 이동하고 테스트 서버로 이동했습니다. 이 방법은 나에게 404를주고, 그 밖의 모든 것은 잘 동작한다. 다른 매개 변수가있는 동일한 컨트롤러에서 다른 메서드가 동일한 방식으로 호출되면 제대로 작동합니다. 필자는 URL을 확인하기 위해 Fiddler를 사용했으며 두 방법 모두에 대한 요청이 정확하며 정확히 동일합니다.
[FromBody] 속성을 사용하여 여러 개의 POST 본문 매개 변수를 사용할 수 없다는 것을 알고 있습니다. 이 전화를 걸 수있는 잘못된 방법입니까? 그렇지 않은 경우이 문제를 해결하려면 어떻게해야합니까?
'url'이 상대방에 전달됩니까? –
ajax 호출의 url 속성에 대한 "url"값은 무엇입니까? –
#bCtl이 발견되어 값이 있음을 확인할 수 있습니까? b가 null 인 경우 EndBatchForConditions의 서명이 일치하지 않고 (int b는 nullable이 아니므로) 404가됩니다. 'int b'를 'int'로 변경하면 작동합니까? 비' –