1

CRM 2011 でフォームの 1 つを読み込んでいるときに、ajax 投稿を使用していくつかのフィールドをクリアしています。ほとんどのレコードでは問題ありませんが、毎回失敗するレコードがあり、失敗の原因となるこのレコードとの違いがわかりません。誰かが私が行っている呼び出しを調べて、エラーがあるかどうかを確認できますか?

ありがとう

var serverUrl = Xrm.Page.context.getClientUrl().toString();
    var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
    var crmEntity = new Object();
    var ODATA_EntityCollection = "/SalesOrderSet";

    crmEntity.ts_payment_data = null;
    crmEntity.ts_payment_split = null;

    var jsonEntity = window.JSON.stringify(crmEntity);

    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        async: true,
        url: serverUrl + ODATA_ENDPOINT + ODATA_EntityCollection + "(guid'" + orderid + "')",
        data: jsonEntity,
        beforeSend: function (XMLHttpRequest) {
            XMLHttpRequest.setRequestHeader("Accept", "application/json");

            XMLHttpRequest.setRequestHeader("X-HTTP-Method", "MERGE");
        },
        error: function (xmlHttpRequest, textStatus, errorThrown) {
            alert("ClearPaymentData\nStatus: " + textStatus + "; ErrorThrown: " + errorThrown + "; Response: " + xmlHttpRequest.responseText);
        }
    });
4

2 に答える 2

0

フィールドの 1 つにサポートされていない文字 (この場合は長いダッシュ) が含まれていたため、取得時に ajax 呼び出しが失敗していたことが判明しました。

ご協力ありがとうございます

于 2013-10-03T09:59:19.233 に答える
0

指定する必要はありませんXMLHttpRequest.setRequestHeader("Accept", "application/json")

指定するとdataType:"json"

dataType is case sensitiveまた、データ型ではないことに注意してください

于 2013-10-03T09:14:26.483 に答える