在ajax中发送标头身份验证时出现问题

时间:2013-11-03 07:06:40

标签: javascript jquery ajax

获取联系人

http://ui-proj.practodev.in/contacts发出GET请求以获取联系人。

要按姓名,电子邮件或电话搜索联系人,请将搜索字词作为查询参数" q"例如http://ui-proj.practodev.in/contacts?q=test

API将返回一个HTTP 200响应,其中包含所有联系人的JSON以及密钥"联系人"

"contacts" : [{
   "id" : "1"
   "contact_name" : "Bob"
   "contact_phone" : "9876543210",
   "contact_email" : "bob@example.com"
}]

Here for fetching JSON data in client side my code so far;

$(document).ready(function(){

        $.ajax({
            type: 'GET',
            url:  'http://ui-proj.practodev.in/contacts',
            dataType: 'json',
   /*While accessing any of the urls from Contacts Demo API, 
   pass a header parameter X-USER with value as your email address to  authenticate.*/
   /*headers: {
    "X-USER" : 'bob@example.com"
   },*/
           beforeSend: function (request){
           request.setRequestHeader("Authority", authorizationToken);
           },
           success:function(data){
            $("#contacts").html(data);
           }
   });

});

1 个答案:

答案 0 :(得分:0)

我在浏览器中打开了www.google.com(谷歌网站中的任何一个都很好,因为我在柬埔寨,我被重定向到google.com.kh)

按下F12并在控制台命令行中粘贴以下代码:

var s = document.createElement("script");
s.src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
document.body.appendChild(s);

点击运行(或在Chrome中按Enter键)

然后在命令行中粘贴以下代码(底部的控制台面板)

$.ajax({
    type: 'GET',
    url:  'http://ui-proj.practodev.in/contacts',
    data: {q:"test"},
    dataType: 'json',
    beforeSend: function (request){
      console.log("beforesend",request.setRequestHeader);
      request.setRequestHeader("X-USER", "the.user.you.sent@email.com");
   },
   success:function(data){
    console.log("success",data);
   }
   }).done(function() {
     console.log("youre not trying",this);
});

运行时,我找不到404用户,我认为当你发送已知用户凭证时它会起作用。