2017-01-22 4 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"] 
}); 

このコードは、クロム、基本的な認証プロンプトが表示されます:次のセットアップコードを考えます。キャッチされない例外TypeError:this.adaptor.processQueryはによる試み機能

ないこのコードエラーdata.min.js

var dataManager = ej.DataManager({ 
    url: "/api/app/imports/3", 
    adaptor: new ej.WebApiAdaptor(), 
    headers: { 
     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().extend({ 
     beforeSend: function() { 
      request.setRequestHeader("Authorization", ticket); 
     } 
    }) 
}); 

このコードは、クロム、基本的な認証プロンプトが表示されます

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 
    }] 
}); 
関連する問題