web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :
Microsoft Dynamics CRM (Archived)

Dynamics crm 2015 - Call ASP.net web service from Ajax in crm form

(0) ShareShare
ReportReport
Posted on by 6,118

I need to call a Web Service from a Ajax in my entity form and i need to put the return data in some fields, but i got an error: "Error: Operation aborted\r\n"

I got the error at this line: 

error: function (jqXHR, textStatus, errorThrown) {
failureCallback(new Error(errorThrown));
},





The ALL code is:

/// <reference path="jquery-1.6.1.min.js" />

var AddressService = {


_bindings: {},
addressFieldNames: null,

setFieldNames: function (arg) {
var name = "name";
var line1 = "line1";
var line2 = "line2";
var line3 = "line3";
var postalCode = "postalcode";
var city = "city";
var state = "stateorprovince";
var country = "country";

var prefix;

if (typeof (arg) === "string") {
prefix = arg;
}
else {
var context = arg;
var sourceFieldName = context.getEventSource().getName();

var index = sourceFieldName.lastIndexOf("_");
if (index > -1) {
prefix = sourceFieldName.substring(0, index + 1);
}
else {
prefix = "";
}
}

AddressService.addressFieldNames = {
name: prefix + name,
line1: prefix + line1,
line2: prefix + line2,
line3: prefix + line3,
postalCode: prefix + postalCode,
city: prefix + city,
state: prefix + state,
country: prefix + country
};

if (!AddressService._bindings[prefix]) {
AddressService._bindings[prefix] = AddressService.addressFieldNames;
}
},

getAddressByPostalCode: function (postalCode, successCallback, failureCallback) {
try {
//localhost:51940/WebService.asmx/
var url = "myUrlHere" + postalCode;

var jqxhr = $.ajax({
url: url,
dataType: "jsonp",
data: null,
success: function (data, textStatus, jqXHR) {
var address;

if (data && data.GetCepResult) {
var result = data.GetCepResult;
address = {
line1: result.TipoLogradouro.Text != "Outros" ? result.TipoLogradouro.Text + " " + result.Logradouro : result.Logradouro,
line3: result.Bairro,
postalCode: result.CEP,
city: result.Cidade,
state: result.Estado,
country: "Brasil"
};
}
else {
address = null;
}

successCallback(address);
},
error: function (jqXHR, textStatus, errorThrown) {
failureCallback(new Error(errorThrown));
},
crossDomain: true
});

}
catch (error) {
failureCallback(error);
}
},

setAddressFields: function (address) {
if (!address) {
var clearAddressMessage = "Não foi encontrado nenhum endereço brasileiro com o CEP informado. Deseja limpar o formulário de endereço?\n\n";
clearAddressMessage += "Para manter o que foi digitado, clique em Cancelar.\n";
clearAddressMessage += "Para limpar o formulário de endereço, clique em OK.";

if (!confirm(clearAddressMessage)) {
return;
}
}

var line1 = address ? address.line1 : null;
//var line2 = address ? address.line2 : null;
var line3 = address ? address.line3 : null;
var city = address ? address.city : null;
var state = address ? address.state : null;
var country = address ? address.country : null;

var fields = AddressService.addressFieldNames;
Xrm.Page.data.entity.attributes.get(fields.line1).setValue(line1);
//Xrm.Page.data.entity.attributes.get(fields.line2).setValue(line2);
Xrm.Page.data.entity.attributes.get(fields.line3).setValue(line3);

if (address) {
Xrm.Page.data.entity.attributes.get(fields.postalCode).setValue(address.postalCode);
}

Xrm.Page.data.entity.attributes.get(fields.city).setValue(city);
Xrm.Page.data.entity.attributes.get(fields.state).setValue(state);
Xrm.Page.data.entity.attributes.get(fields.country).setValue(country);
},

postalCodeOnChange: function (context) {
AddressService.setFieldNames(context);

var fields = AddressService.addressFieldNames;
var postalCodeField = Xrm.Page.data.entity.attributes.get(fields.postalCode);
var postalCode = postalCodeField.getValue();

if (postalCode) {
AddressService.getAddressByPostalCode(
postalCode,
function (address) {
AddressService.setAddressFields(address);
},
function (error) {
alert("Ocorreu um erro ao pesquisar o endereço com CEP: " + postalCode + ".");

AddressService.setAddressFields(null);
}
);
}
else {
AddressService.setAddressFields(null);
}
},

formOnLoad: function (context) {
var prefixes = ["address1_", "address2_", "", "billto_", "shipto_", "gdb2_endereco_"];
for (var i = 0; i < prefixes.length; i++) {
var prefix = prefixes[i];

var testField = Xrm.Page.getAttribute(prefix + "line1");
if (testField) {
AddressService.setFieldNames(prefix);
}
}

},

formOnSave: function (context) {
for (var k in AddressService._bindings) {
var fields = AddressService._bindings[k];

var addressName;

var line1 = Xrm.Page.data.entity.attributes.get(fields.line1).getValue();
if (line1) {
addressName = line1;

var line2 = Xrm.Page.data.entity.attributes.get(fields.line2).getValue();
addressName += line2 ? ", " + line2 : "";

var line3 = Xrm.Page.data.entity.attributes.get(fields.line3).getValue();
addressName += line3 ? " - " + line3 : "";

var postalCode = Xrm.Page.data.entity.attributes.get(fields.postalCode).getValue();
addressName += postalCode ? " - " + postalCode : "";

var city = Xrm.Page.data.entity.attributes.get(fields.city).getValue();
addressName += city ? " - " + city : "";

var state = Xrm.Page.data.entity.attributes.get(fields.state).getValue();
addressName += state ? " - " + state : "";

var country = Xrm.Page.data.entity.attributes.get(fields.country).getValue();
addressName += country ? " - " + country : "";
}
else {
addressName = null;
}

var nameField = Xrm.Page.data.entity.attributes.get(fields.name);
nameField.setValue(addressName);
}
}

};




*This post is locked for comments

I have the same question (0)
  • Community Member Profile Picture
    6,118 on at
    RE: Dynamics crm 2015 - Call ASP.net web service from Ajax in crm form

    But i got the error when i tried to call web service.

    when debugging, i got an error and go to this line: error: function (jqXHR, textStatus, errorThrown) {

    var jqxhr = $.ajax({

    url: url,

    dataType: "jsonp",

    data: null,

    success: function (data, textStatus, jqXHR) {

    var address;

    if (data && data.GetCepResult) {

    var result = data.GetCepResult;

    address = {

    line1: result.TipoLogradouro.Text != "Outros" ? result.TipoLogradouro.Text + " " + result.Logradouro : result.Logradouro,

    line3: result.Bairro,

    postalCode: result.CEP,

    city: result.Cidade,

    state: result.Estado,

    country: "Brasil"

    };

    }

    else {

    address = null;

    }

    successCallback(address);

    },

    error: function (jqXHR, textStatus, errorThrown) {

    failureCallback(new Error(errorThrown));

    },

    crossDomain: true

    });

  • razdynamics Profile Picture
    17,308 User Group Leader on at
    RE: Dynamics crm 2015 - Call ASP.net web service from Ajax in crm form

    Hi Henrique

    To Post Data into CRM from cross Domain try  using  XMLHttpRequest instead of the XRM.Page.data?

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Mansi Soni – Community Spotlight

We are honored to recognize Mansi Soni as our August 2025 Community…

Announcing our 2025 Season 2 Super Users!

A new season of Super Users has arrived, and we are so grateful for…

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > 🔒一 Microsoft Dynamics CRM (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans