메서드는 AJAX에서만 호출 할 수 없습니다.

파이어 발 69

나는 몇 시간 동안 인터넷에서 쓰레기를 검색했지만 이것이 작동하지 않는 이유를 파악하지 못했습니다.

사용자가 작성하고 양식을 작성하고 해당 양식을 데이터베이스에 간단하게 저장하기를 원합니다. 아약스를 넣기 전에는 완벽하게 작동했습니다. 하지만 이제는 계속 오류가 발생합니다.Sorry, this method can't be called only from AJAX.

여기 내 코드가 있습니다.

제어 장치:

// GET: /AjaxStuff/Create
        public ActionResult Contact()
        {
            return View();
        }

        // POST: /AjaxStuff/Create
        [HttpPost]
        public ActionResult Contact(Users usertocreate)
        {
            if (!Request.IsAjaxRequest())
            {
                Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
                return Content("Sorry, this method can't be called only from AJAX.");
            }
            try
            {
                if (ModelState.IsValid)
                {
                    _db.Table.Add(usertocreate);
                    _db.SaveChanges();
                    return Content("Record added successfully !");
                }
                else
                {
                    StringBuilder strB = new StringBuilder(500);
                    foreach (ModelState modelState in ModelState.Values)
                    {
                        foreach (ModelError error in modelState.Errors)
                        {
                            strB.Append(error.ErrorMessage + ".");
                        }
                    }
                    Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
                    return Content(strB.ToString());
                }
            }
            catch (Exception ee)
            {
                Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
                return Content("Sorry, an error occured." + ee.Message);
            }
        }

전망:

@model Site01.Models.Users

@{
    ViewBag.Title = "Contact";

    AjaxOptions options = new AjaxOptions
    {
        Confirm = "Are you sure to save record?",
        OnBegin = "OnBeginMethod",
        OnFailure = "OnFailtureMethod",
        OnSuccess = "OnSuccessMethod",
        OnComplete = "OnCompleteMethod"
    };
}

<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

<h3>Deixe-nos uma mensagem!</h3>
<p>Duvidas ou apenas a deixar um comentário? Preencha o formulário!</p>
@using (Ajax.BeginForm(options))
{
    @Html.AntiForgeryToken()
    <div class="form-horizontal">
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            @Html.LabelFor(model => model.Nome, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Nome, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.Nome, "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.Idade, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Idade, new
                   {
                       htmlAttributes = new { @class = "form-control" }
                   })
                @Html.ValidationMessageFor(model => model.Idade, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.Tel, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                <div class="checkbox">
                    @Html.EditorFor(model => model.Tel)
                    @Html.ValidationMessageFor(model => model.Tel, "", new { @class = "text-danger" })
                </div>
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.DataNas, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                <div class="checkbox">
                    @Html.EditorFor(model => model.DataNas)
                    @Html.ValidationMessageFor(model => model.DataNas, "", new { @class = "text-danger" })
                </div>
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.CP, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                <div class="checkbox">
                    @Html.EditorFor(model => model.CP)
                    @Html.ValidationMessageFor(model => model.CP, "", new { @class = "text-danger" })
                </div>
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.Localidade, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                <div class="checkbox">
                    @Html.EditorFor(model => model.Localidade)
                    @Html.ValidationMessageFor(model => model.Localidade, "", new { @class = "text-danger" })
                </div>
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.Mensagem, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                <div class="checkbox">
                    @Html.EditorFor(model => model.Mensagem)
                    @Html.ValidationMessageFor(model => model.Mensagem, "", new { @class = "text-danger" })
                </div>
            </div>
        </div>
        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-default" />
                <label id="labelAjaxStatus" class="alert-warning"></label>
            </div>
        </div>
    </div>
}

<div>
    @Html.ActionLink("Ver Lista", "User")
</div>

<script type="text/javascript">
    var isError = false;
    function OnBeginMethod() {
        $("#labelAjaxStatus").text("Carregar ....");
    }

    function OnFailtureMethod(error) {
        $("#labelAjaxStatus").text("Ocorreu um erro." + error.responseText);
        isError = true;
    }

    function OnSuccessMethod(data) {
        $("#labelAjaxStatus").text("Dados foram guardados com sucesso!");
        $("#Nome").val('');
        $("#Idade").val('');
        $("#Email").val('');
        $("#Tel").val('');
        $("#DataNas").val('');
        $("#CP").val('');
        $("#Localidade").val('');
        $("#Mensagem").val('');
    }

    function OnCompleteMethod(data, status) {
        if (!isError) {
            $("#labelAjaxStatus").text("Status do processo: " +
            status);
        }
    }
</script>

@Scripts.Render("~/bundles/jqueryval")

포르투갈어는 신경 쓰지 마십시오. 아무도 내가 뭘 잘못하고 있는지 알아?

Satpal

Contact사용하려면 컨트롤러 작업에서 다음 코드 스 니펫을 제거해야 합니다.ajax

if (!Request.IsAjaxRequest())
{
    Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
    return Content("Sorry, this method can't be called only from AJAX.");
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

angularjs bindToController는 메서드를 호출 할 수 없습니다.

분류에서Dev

Rails에서 Delete 메서드를 호출 할 수 없습니다.

분류에서Dev

Python에서 메서드를 호출 할 수 없습니다.

분류에서Dev

CakePHP에서는 auth 호출 전에 모델에서 더미 메서드를 호출 할 수 있지만 auth 후에는 호출 할 수 없습니다.

분류에서Dev

왜 hasPrevious () 메서드를 직접 호출 할 수 없습니다

분류에서Dev

null의 'drawImage'메서드를 호출 할 수 없습니다.

분류에서Dev

null의 'apply'메서드를 호출 할 수 없습니다.

분류에서Dev

개체 메서드를 호출 할 수 없습니다.

분류에서Dev

NFC onNewIntent () 메서드를 호출 할 수 없습니다.

분류에서Dev

Iqueryable은 Include 메서드를 호출 할 수 없습니다.

분류에서Dev

대리자 메서드를 호출 할 수 없습니다.

분류에서Dev

JAVA-배열 메서드를 호출 할 수 없습니다.

분류에서Dev

Unity에서 메서드를 호출하려고합니다. 메서드를 호출 할 수 없습니다.

분류에서Dev

PUT 또는 POST로 메서드를 호출 할 수 없습니다.

분류에서Dev

메소드에서 Java 호출 메소드를 이해할 수 없습니다.

분류에서Dev

함수 내부에서 메서드를 호출 할 수 없습니다.

분류에서Dev

비즈니스 계층에서 메서드를 호출 할 수 없습니다.

분류에서Dev

비즈니스 계층에서 메서드를 호출 할 수 없습니다.

분류에서Dev

Meteor Restivus : 오류 Meteor.userId는 메서드 호출에서만 호출 할 수 있습니다.

분류에서Dev

호출 할 수없는 멤버 iTextSharp.text.font는 메서드처럼 사용할 수 없습니다.

분류에서Dev

호출 할 수없는 멤버 ''은 (는) 메서드처럼 사용할 수 없습니다.

분류에서Dev

초기화 전에 draggable에서 메서드를 호출 할 수 없습니다.

분류에서Dev

Clojure에서 특정 Java 메서드를 호출 할 수 없습니다.

분류에서Dev

onPressed 속성에서 메서드를 호출 할 수 없습니다 (flutter).

분류에서Dev

has_secure_password에서 .authenticate 메서드를 호출 할 수 없습니다.

분류에서Dev

pythonnet은 vb .net dll에서 메서드를 호출 할 수 없습니다.

분류에서Dev

클래스 내에서 정적 메서드를 호출 할 수 없습니다.

분류에서Dev

Swift에서 Objective-C 메서드를 호출 할 수 없습니다.

분류에서Dev

확장 된 ViewGroup에서 메서드를 호출 할 수 없습니다.

Related 관련 기사

  1. 1

    angularjs bindToController는 메서드를 호출 할 수 없습니다.

  2. 2

    Rails에서 Delete 메서드를 호출 할 수 없습니다.

  3. 3

    Python에서 메서드를 호출 할 수 없습니다.

  4. 4

    CakePHP에서는 auth 호출 전에 모델에서 더미 메서드를 호출 할 수 있지만 auth 후에는 호출 할 수 없습니다.

  5. 5

    왜 hasPrevious () 메서드를 직접 호출 할 수 없습니다

  6. 6

    null의 'drawImage'메서드를 호출 할 수 없습니다.

  7. 7

    null의 'apply'메서드를 호출 할 수 없습니다.

  8. 8

    개체 메서드를 호출 할 수 없습니다.

  9. 9

    NFC onNewIntent () 메서드를 호출 할 수 없습니다.

  10. 10

    Iqueryable은 Include 메서드를 호출 할 수 없습니다.

  11. 11

    대리자 메서드를 호출 할 수 없습니다.

  12. 12

    JAVA-배열 메서드를 호출 할 수 없습니다.

  13. 13

    Unity에서 메서드를 호출하려고합니다. 메서드를 호출 할 수 없습니다.

  14. 14

    PUT 또는 POST로 메서드를 호출 할 수 없습니다.

  15. 15

    메소드에서 Java 호출 메소드를 이해할 수 없습니다.

  16. 16

    함수 내부에서 메서드를 호출 할 수 없습니다.

  17. 17

    비즈니스 계층에서 메서드를 호출 할 수 없습니다.

  18. 18

    비즈니스 계층에서 메서드를 호출 할 수 없습니다.

  19. 19

    Meteor Restivus : 오류 Meteor.userId는 메서드 호출에서만 호출 할 수 있습니다.

  20. 20

    호출 할 수없는 멤버 iTextSharp.text.font는 메서드처럼 사용할 수 없습니다.

  21. 21

    호출 할 수없는 멤버 ''은 (는) 메서드처럼 사용할 수 없습니다.

  22. 22

    초기화 전에 draggable에서 메서드를 호출 할 수 없습니다.

  23. 23

    Clojure에서 특정 Java 메서드를 호출 할 수 없습니다.

  24. 24

    onPressed 속성에서 메서드를 호출 할 수 없습니다 (flutter).

  25. 25

    has_secure_password에서 .authenticate 메서드를 호출 할 수 없습니다.

  26. 26

    pythonnet은 vb .net dll에서 메서드를 호출 할 수 없습니다.

  27. 27

    클래스 내에서 정적 메서드를 호출 할 수 없습니다.

  28. 28

    Swift에서 Objective-C 메서드를 호출 할 수 없습니다.

  29. 29

    확장 된 ViewGroup에서 메서드를 호출 할 수 없습니다.

뜨겁다태그

보관