【问题标题】:ajax call for core API 3.1 model is null核心 API 3.1 模型的 ajax 调用为空
【发布时间】:2021-09-25 01:36:34
【问题描述】:

Core MVC Ajax 调用未命中 Core API 3.1(在两个不同的端口中运行)

var objGetAttachment = {};

    objGetAttachment.DocumentRef = $('#docinfoId').attr('data-DocumentRef');
    objGetAttachment.IdentifiedFormForDocumentRef = $('#docinfoId').attr('data-IdentifiedFormForDocumentRef');
    objGetAttachment.Queueref = $('#docinfoId').attr('data-QueueRef');
    objGetAttachment.SubQueueRef = $('#docinfoId').attr('data-SubQueueRef');
    objGetAttachment.TaskTypeRef = $('#docinfoId').attr('data-TaskTypeRef');
    objGetAttachment.IsArchivedReadOnlyData = $('#docinfoId').attr('data-IsArchivedReadOnlyData');
objGetAttachment.Action = 2;

$.ajax({
        type: 'GET',
        url: apiURL + '/api/Attachment/GetAttachments',
        xhrFields: { withCredentials: true },
        data: {
            objGetAttachment: objGetAttachment
        },
        contentType: "application/json; charset=utf-8",
        async: false,
        cache: false,
        success: function (data) {
            alert('success'); 
        },
        failure: function (data) {
            alert('failure'); 
        },
        error: function (data) {
            alert('error'); 
        }
    }); 

控制器:

 [HttpGet]
    public ActionResult GetAttachments(Attachment objGetAttachment)
    {
    
    }

【问题讨论】:

  • 您好,能否请您提供您的后端代码?另外添加您的完整客户端代码如何获取ajax 发布请求数据
  • 我已经更新了。请查看
  • 请尝试一下,如果遇到任何问题,请随时分享。
  • 您好,问题解决了吗?如果您需要任何进一步的帮助,请告诉我...

标签: c# ajax asp.net-core asp.net-web-api


【解决方案1】:

你可以试试这个方法:

型号:

public class Attachment
    {
        public string DocumentRef { get; set; }
        public string IdentifiedFormForDocumentRef { get; set; }
        public string Queueref { get; set; }
        public string SubQueueRef { get; set; }
        public string Action { get; set; }
    }

控制器:

    [HttpGet]
    [Route("GetAttachments")]
    [ActionName("GetAttachments")]
    public ActionResult GetAttachments(Attachment objGetAttachment)
    {
        return Ok(objGetAttachment);
    }

HTML:

<button class="btn btn-primary">Submit</button>

Javascript:

<script>
    $(document).ready(function () {
        $("button").click(function (e) {

            var DocumentRef = "Test DocumentRef";
            var IdentifiedFormForDocumentRef = "Test IdentiDocumentRef";
            var Queueref = "Test Queueref";
            var SubQueueRef = "Test SubQueueRef";
            var Action = "Test Action";

            var objGetAttachment = {
                DocumentRef: DocumentRef,
                IdentifiedFormForDocumentRef: IdentifiedFormForDocumentRef,
                Queueref: Queueref,
                SubQueueRef: SubQueueRef,
                Action: Action,
            };

            $.ajax("https://localhost:44346/api/Attachment/GetAttachments", {
                method: "GET",
                data: objGetAttachment,
                datatype: "json",
                contentType: "application/json",
                success: function (data) {
                    console.log(data);
                }
            });
        });
    });
</script>

输出:

注意:指出objGetAttachment json 模型属性应与您的Attachment 类相同,否则您将获得空值。

希望对您有所帮助。如果您仍有任何疑问,请告诉我。

【讨论】:

    【解决方案2】:

    你最好用 Post 来提交这么大的数据

    $.ajax({
            type: 'POST',
            url: apiURL + '/api/Attachment/GetAttachments',
            data: {
                objGetAttachment: objGetAttachment
            },
               success: function (data) {
                alert('success'); 
            },
            failure: function (data) {
                alert('failure'); 
            },
            error: function (data) {
                alert('error'); 
            }
        }); 
    

    并从操作中删除属性 GET

    [Route("~/api/Attachment/GetAttachments")]
    public ActionResult GetAttachments(Attachment objGetAttachment)
    ....
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 2019-12-28
      • 2019-01-25
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多