2017-01-22 1 views
1

SyncFusions ej.Grid가 내 API로 데이터를 가져 오거나 업데이트 할 때 기본 인증을 사용하도록 설정하는 데 어려움을 겪고 있습니다. 이 경험이있는 사람이 있습니까? 그들의 examples은 드문 드문 보입니다.SyncFusion ej.DataManager에서 기본 인증 사용

나는 아래에서 내가 시도한 것을 보았다.

var dataManager = ej.DataManager({ 
    url: "/api/app/imports/3", 
    adaptor: new ej.WebApiAdaptor() 
}); 

이 코드는 크롬 기본 인증 프롬프트가 나타납니다 :

var ticket = "Basic " + Base64.encode("username:password"); 

$('#Grid').ejGrid({ 
    dataSource: dataManager, 
    allowPaging: true, 
    columns: ["AccountName", "CompanyName"] 
}); 

이 코드는 크롬 기본 인증 프롬프트가 나타납니다 : 다음 설치 코드를 감안할 때.

data.min.js

var dataManager = ej.DataManager({ 
    url: "/api/app/imports/3", 
    adaptor: new ej.WebApiAdaptor(), 
    headers: { 
     Authorization: ticket 
    } 
}); 

이 코드 오류에 사용되는 "헤더"개체가 있기 때문에 시도 : catch되지 않은 형식 오류 : this.adaptor.processQuery이 때문에 시도하는 기능

하지 않다가

:

var dataManager = ej.DataManager({ 
    url: "/api/app/imports/3", 
    adaptor: new ej.WebApiAdaptor().extend({ 
     beforeSend: function() { 
      request.setRequestHeader("Authorization", ticket); 
     } 
    }) 
}); 

https://www.syncfusion.com/forums/117024/does-datamanager-support-odata-v4이 코드는 크롬 기본 인증 프롬프트를 제공합니다

var dataManager = ej.DataManager({ 
    url: "/api/app/imports/3", 
    adaptor: new ej.WebApiAdaptor(), 
    beforeSend: function() { 
     request.setRequestHeader("Authorization", ticket); 
    } 
}); 

이 코드는 크롬 기본 인증 프롬프트가 나타납니다 : 나는 ej.DataManager 생성자가 headers 속성을 수용한다는 것을 발견 축소 된 코드의 많은 디버깅 후

var dataManager = ej.DataManager({ 
    url: "/api/app/imports/3", 
    adaptor: new ej.WebApiAdaptor() 
}); 

dataManager.dataSource.beforeSend = function() { 
    request.setRequestHeader("Authorization", ticket); 
} 

답변

2

,하지만 개체의 목록을 필요로 각각 사용 HTTP 헤더로 각 개체의 속성 따라서 다음 코드에는 찾으려는 헤더가 포함됩니다.

var dataManager = ej.DataManager({ 
    url: "/api/app/imports/3", 
    adaptor: new ej.WebApiAdaptor(), 
    headers: [{ 
     Authorization: ticket 
    }] 
});