Dynamics CRM无法使用Javascript / HTML Web资源创建记录

时间:2016-07-19 18:16:20

标签: javascript html ajax crm microsoft-dynamics

更新:此代码实际上确实创建了所需的记录 - 但令人困惑的是,成功回调未被触发,但错误回调是。我不确定这会带来什么影响。

我正在尝试使用HTML网络资源在动态crm中创建记录。正在创建的记录用于自定义实体。应该创建记录的代码如下:

function postAnswers () {
    var serverUrl = Xrm.Page.context.getClientUrl();
    var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
    var odataSetName = "new_regquestionanswersSet"
    var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName;

    var answer = {};
    // Define attribute values for the CRM object you want created
    answer.new_name = "Test Answer!";

    //Parse the entity object into JSON
    var jsonAnswer = window.JSON.stringify(answer);
    //Asynchronous AJAX function to Create a CRM record using OData
    $.ajax({ type: "POST",
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        url: odataUri,
        data: jsonAnswer,
        beforeSend: function (XMLHttpRequest) {
            //Specifying this header ensures that the results will be returned as JSON.
            XMLHttpRequest.setRequestHeader("Accept", "application/json");
        },
        success: function (data, textStatus, XmlHttpRequest) {
            answer = data.d;
            alert("success");
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("failure");
            console.log(textStatus);
        }
    });
}
单击窗体中嵌入的HTML Web资源上的按钮即可运行

postAnswers()。我不确定为什么,但这会以“失败”的形式返回,而textStatus则是“错误”。除此之外,我在控制台中没有任何明显的错误,这使得很难排除故障。

是否有任何可预见的原因导致此代码无法创建记录?或者为什么请求失败?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

jQuery错误回调中的第一个参数是jqXHR object,其中包含responseText属性。看一下,看看有关错误的更多细节。

请注意,不推荐使用errorsuccess回调,而是赞成jQuery 3.0中的faildone