мы пытаемся подключиться к нашим OData из NAV2015. Ссылка, имя пользователя и пароль пользователя работают нормально, если мы просто скопируем, вставим URL в ou rbrwser и вручную добавим пароль и имя пользователя.
Мы абсолютно новички в javascript. Посмотрите код, который мы нашли в inte rnet ниже:
(Мы пока не меняем функции, так как нам даже не удается аутентифицировать) Мы будем рады любой помощи. Мы используем пароль, а не ключ веб-сервиса
<head>
<title></title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var baseURL = 'OurURL';
// Function to Invoke a NAV WebService
function InvokeNavWS(method, parameters, successFunc) {
$.ajax({
type: "GET",
contentType: 'application/json; charset=utf-8',
username: 'name',
password: 'pw',
url: baseURL + '?$format=json' + parameters,
xhrFields: {
withCredentials: true
},
success: successFunc,
error: HandleError
});
}
// Get the Company list
function SystemService_Companies() {
InvokeNavWS('Company', '', HandleResult_Companies);
}
// Handle the results from the Company list
function HandleResult_Companies(result) {
var companies = result.value;
var companyText = "";
for (var i = 0; i < companies.length; i++) {
companyText += companies[i].Name + '<br>';
}
$('#companies').html(companyText);
}
// Get details for a specific Customer
function CustomerPage_Read(no) {
InvokeNavWS('CustomerList', '&$filter=No eq \'' + no + '\'', HandleResult_Customer);
}
// Handle the results from the Customer call
function HandleResult_Customer(result) {
$('#cust10000').html('Name of Customer 10000: ' +
result.value[0].Name + '<br>');
}
// Get details for multiple Customer
function CustomerPage_ReadMultiple(filters) {
InvokeNavWS('CustomerList', filters, HandleResult_MultipleCustomer);
}
// Handle the results from the Customer call
function HandleResult_MultipleCustomer(result) {
var Customers = result.value;
var customersText = "Customers in ES served by ROT or BLAU warehouse:<br>";
for (i = 0; i < Customers.length; i++) {
customersText += Customers[i].Name + ', Contact ' + Customers[i].Contact + '<br>';
}
$('#custList').html(customersText);
}
function HandleError(err) {
console.log(err);
}
</script>
</head>
<body>
<div id="companies">
<a href="#">get Companies</a>
</div>
<br>
<div id="cust10000">
<a href="#">get Customer 10000</a>
</div>
<br>
<div id="custList">
<a href="#">get Customers in ES served by ROT or BLAU warehouse</a>
</div>
<script type="text/javascript">
$("#companies a").click(function () { SystemService_Companies(); });
$("#cust10000 a").click(function () { CustomerPage_Read(10000); });
$("#custList a").click(function () { CustomerPage_ReadMultiple("&$filter=Country_Region_Code eq 'ES' and (Location_Code eq 'ROT' or Location_Code eq 'BLAU')"); });
</script>
</body>