d3.request产生未经授权的错误

时间:2016-10-26 10:04:43

标签: d3.js

我正在使用d3.request.js从需要HTTP基本身份验证的远程服务器下载数据。我的脚本是:



var query="<request-url>";
d3.request(query)
    .post()
    .user("login-id")
    .password("login-password")
    .get(function(error, data) {
      //scripts to process result
      }
     )
&#13;
<script src="https://d3js.org/d3-request.v1.min.js"></script>
<script src="https://d3js.org/d3.v4.min.js"></script>
&#13;
&#13;
&#13;

但是在执行上述脚本时,我收到401(未授权)错误。我已经测试过在切换到d3.request之前使用$ .ajax请求方法。它工作正常。因此,它不应该是来自远程服务器的跨域问题。结果是一个json对象,我使用d3.json测试,也失败了。

对此问题的任何建议?

感谢。

2 个答案:

答案 0 :(得分:0)

这是跨源请求吗?我的WAG是this is your problem。试试这个:

var query="<request-url>";
d3.request(query)
  .post()
  .user("login-id")
  .password("login-password")
  .on("beforesend", function(request) { request.withCredentials = true; })
  .get(function(error, data) {
    //scripts to process result
   }
 );

答案 1 :(得分:0)

以下脚本可以解决我的问题。

	d3.json(query)
		.header("Authorization", "Basic " + btoa(USERNAME + ":" + PASSWORD))
		.get(function(error, data) {
			if(error) {
				console.log(error);
			}else{
				console.log(data);						}
		});

感谢您的时间。

相关问题