javascript - 在 ajax 查询中将 async 属性设置为 false 时,不会调用 Web Api Controller

标签 javascript ajax crm asp.net-core-webapi

我有一个 Web API Controller ,由我的页面的 ajax 查询调用。当 async 值设置为 true 时,一切正常。当设置为 false 时,ajax 查询不会触发。请参阅下面我的代码

C# Web api Controller

using System;
using Microsoft.Xrm.Sdk;
using CRM_WebApp.Models;
using System.Web.Http;
using System.Web.Http.Cors;
using Microsoft.Xrm.Sdk.Query;
using CRM_WebApp.Services;
using System.Text.RegularExpressions;

namespace CRM_WebApp.Controllers
{
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class CallBackFormController : ApiController
{
    [System.Web.Http.HttpPost]
    public System.Web.Http.IHttpActionResult Post([System.Web.Http.FromBody] CallBackFormModel CallBackFormModel)
    {
        ConnectiontoCrm connectiontoCrm = new ConnectiontoCrm();
        connectiontoCrm.GetConnectiontoCrmCopy();

        //Create Lead
        Entity lead = new Entity("lead");
        lead["firstname"] = CallBackFormModel.FirstName;

        return Json(new { result = "ok" });

    }
  }
}

下面是我的ajax查询

<script>

$("input[name='crm']").click(function(){

   var Data = {FirstName : $("input[name='user_name']").val()};

   makeAjaxCall(Data);  

  });

function makeAjaxCall(Data){
    $.ajax({

                url: "http://localhost:54360///api/CallBackForm",
                type: "POST",
                dataType: "json",
                async: false,
                contentType: 'application/json',
                data: JSON.stringify(Data),

                success: function(data){

                    alert("DONESUCCESS"); 
                },
                error: function(data){
                    alert("DONEERROR");
                }
            });

     }

</script>

我不知道如何更改我的代码来获取错误

最佳答案

Async:false 不是一个好的做法。设置 async:false 意味着您正在使进程同步,因此浏览器将挂起它直到完成 - 它无法继续执行其他方法。删除该选项将使调用异步(默认情况下,应该如此)。

如果您仍然想使用 async:false 那么请阅读链接-

http://api.jquery.com/jQuery.ajax/

关于javascript - 在 ajax 查询中将 async 属性设置为 false 时,不会调用 Web Api Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49643841/

相关文章:

javascript - 将值传递/存储到另一个函数或单击事件

javascript - 未捕获的类型错误 : Object [object Object] has no method 'wpdialog'

用于创建函数的 JavaScript 语法?

dynamics-crm-2011 - MS CRM - setVisible

javascript - 可以让 Print.js 打印变量吗?

javascript - 如何在 ajax 调用后停止滚动到顶部

javascript - 在ajax symfony中传递带有参数的 Controller

javascript - IE 8/9 中 FormData 的回退

dynamics-crm - 我可以在 Dynamics CRM 中的用户登录事件上注册插件吗?

javascript - Dynamics CRM 使用 Javascript/HTML Web 资源创建记录时遇到问题