在启用webhdfs之后,通过curl命令进行访问是可行的,但是通过ajax发出的相同请求会给出空响应。
例如,“notice.txt”是添加到hdfs的文件,“new”是在hdfs的根位置创建的新目录。
curl -i -X GET http://localhost:50070/webhdfs/v1/NOTICE.txt?op=GETFILESTATUS&user.name=hadoop
为了 AJAX 我试过了both:-
var url = 'http://localhost:50070/webhdfs/v1/NOTICE.txt?op=GETFILESTATUS&user.name=hadoop';
$.get(url, function(resp) {
console.log(resp);
});
(和)
$.ajax({
url:'http://localhost:50075/webhdfs/v1/NOTICE.txt?op=OPEN&user.name=hadoop',
dataType:'application/json',
success: function(resp) {
console.log(resp);
},
type:'GET'
});
curl命令起作用,而ajax接收到一个状态码为200的空响应。当尝试通过rest客户端(如postman)访问同一个url时,它成功了!那么,为什么ajax调用不起作用??在通过javascript ajax调用webhdfs restapi时,我们应该传递任何额外的参数吗?
curl 结果:
http/1.1 200确定过期时间:1970年1月1日星期四00:00:00 gmt set cookie:hadoop.auth=“u=hadoop&p=hadoop&t=simple&e=1412285804171&s=emnooxqrzruqlsmoz3ax83+7zg=”;path=/content-type:application/json-transfer-encoding:chunked-server:jetty(6.1.26)
{“filestatus”:{“accesstime”:1412246288609,“blocksize”:67108864,“group”:“supergroup”,“length”:101,“modificationtime”:1412246288609,“owner”:“vivek”,“pathsuffix”:“permission”:“644”,“replication”:1,“type”:“file”}}
但ajax显示:
请求和响应的标题:
暂无答案!
目前还没有任何答案,快来回答吧!