在jquery ajax GET调用中执行ntlm身份validation

我在SO上找不到符合我要求的任何东西 – 只有一两个问题有一些相似之处,但与我没有任何关系。 这是一个不同可能的“解决方案”的混合物,不能解决我的需求: Javascript / Ajax NTLM身份validation 。 另外 – 它已经有5年了,似乎更像是.net代码。

我的要求:我试图通过在jquery ajax调用中访问远程服务器上的csv文件。 远程服务器是托管csv文件的sharepoint服务器。 使用ntlm身份validation设置远程服务器。

到目前为止我做了什么:我能够通过GET调用成功访问Postman中的所述文件,并在“身份validation”选项卡(邮递员)中传递用户名和密码并设置“标头”值如’Authorization = true’和’Accept = application / json’值(在Postman中)。 我能够检索csv文件的所有行,包括标题行。

我需要通过jquery ajax调用(即:传入相关的ntlm身份validation信息)来复制我能够通过Postman(上面发布)成功完成的操作,并从csv文件中检索行。

我目前有以下代码,但不知道如何在jquery中执行ntlm身份validation:

$.ajax({ url: "https://xxxxx.yyyyyy.com/abc/def-efg/hijk/MyFile.csv", type: "GET", headers: { "ACCEPT": "application/json;odata=verbose" }, success: function(data){ var results = data.d.results; for(i=0; i < data.d.results.length; i++){ console.log(i + data.d.results[i].Title); } } }); 

我有必要的“域名”,“用户名”和“密码”信息,但需要一些指导如何将该信息合并到上面的代码中。 PS我试过ntlm插件,有人发布在5岁的问题线程上SO(我在上面发布),但它对我不起作用(我没有在chrome控制台中看到任何输出或错误)。 该代码如下:

 Ntlm.setCredentials('MyDomain', 'username', 'password'); var url = 'https://abc.def.com/sites/xyz- Home/myfiles/MyFile.csv'; if (Ntlm.authenticate(url)) { var request = new XMLHttpRequest(); request.open('GET', url, false); request.send(null); console.log(request.responseText); // => My super secret message stored on server. }