AJAX参数仍然为空

我有一个用于插入数据的简单模式形式;当我提交数据时,我正确地转到了我的方法,但是参数仍然为空值。

这是我的剃刀代码:

this.testSub = this.store.pipe(select(fromRoot.getSpainmatches,{tournamentId: 68}))
      .subscribe(s => console.log('@@@@',s));

这是我的JS代码:

<form id="SaveKeyForm" asp-page-handler="SaveExternalKEY" data-ajax="true" data-ajax-method="post">
<div class="modal-body">
    <input name="IsValid" type="hidden" value="@ViewData.ModelState.IsValid.ToString()" />
    <div class="form-group">
        <label asp-for="wItem.Guid"></label>
        <input asp-for="wItem.Guid" name="GUID" class="form-control" id="modalCustomerGUID" readonly required />
        <span asp-validation-for="wItem.Guid" class="text-danger"></span>
    </div>
    <div class="form-group">
        @Html.Hidden("External_Key_Type_ID","")
        <select class="custom-select mr-sm-2" asp-items="_KeyOptions" name="Selected_Key_Type_ID"><option selected>Choose</option></select>
    </div>
    <div class="form-group">
        <label asp-for="wExternal_ID.ExternalKey"></label>
        <input asp-for="wExternal_ID.ExternalKey" name="ExternalKEY" class="form-control" required/>
        <span asp-validation-for="wExternal_ID.ExternalKey" class="text-danger"></span>
    </div>
</div>
<div class="modal-footer">
    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
    <button type="submit" id="saveKey" class="btn btn-primary">Save</button>
</div>

这是我的方法:

 $("#saveKey").click(function (e) {
    e.preventDefault();

    console.log('Ajax submit');        
    var form = $(this).parents('.modal').find('form');
    var formaction = form.attr('action');
    var fdata = form.serialize();        
    console.log(fdata);

    var sdata = { GUID: 'fdsfas' };

    $.ajax({
        type: 'post',url: formaction,data: sdata,dataType: "text",processData: false,headers: {
            RequestVerificationToken:
                $('input:hidden[name="__RequestVerificationToken"]').val()
        },statusCode: {
            404: function () {
                console.log("page not found");
            },200: function () {
                console.log("Status Ok");
            }
        }

    }).done(function (result) {
        console.log('Result: ' + result);            
    });
});

我尝试: -将数据作为'fdata'变量传递:仍为null -将固定数据作为“ sdata”变量传递:仍然为null -尝试对Json进行序列化:仍然为空

如果我使用jquery-ajax-unobtrusive,则可以将值正确传递给我的方法,但是我无法管理模式形式和URL更改的错误消息。 感谢您的帮助。

aqmes 回答:AJAX参数仍然为空

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3143171.html

大家都在问