使用jQuery AJAX模仿curl请求

时间:2014-10-20 22:54:39

标签: jquery ajax curl

如何将此curl请求正确转换为jquery $.ajax()调用?

这是卷曲请求:

curl https://<api token>:@api.inboxapp.com/n/<namespace id>/threads?tag=unread

以下是我尝试翻译它导致授权错误:

$.ajax({    
    url: 'https://api.inboxapp.com/n/'+namespaceResults['id']+'/threads?tag=unread',
    dataType: 'json',
    method: 'GET',
    success: function(threadsResults){
        console.log(threadsResults);
    }
});

我不知道在哪里放api令牌。我尝试了这个,但得到了同样的错误:

$.ajax({    
    url: 'https://api.inboxapp.com/n/'+namespaceResults['id']+'/threads?tag=unread',
    dataType: 'json',
    method: 'GET',
    data:{
        'api_token':apiToken
    },
    success: function(threadsResults){
        console.log(threadsResults);
    }
});

我的主要问题是弄清楚如何正确传递apiToken身份验证标头。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您需要对数据进行字符串化。有时需要contenttype

$.ajax({    
url: 'https://api.inboxapp.com/n/'+namespaceResults['id']+'/threads?tag=unread',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
method: 'GET',
data: JSON.stringify( {
    'api_token':apiToken
}),
success: function(threadsResults){
    console.log(threadsResults);
}
});

根据inbox.app,api令牌应该以用户名发送:

$.ajax({    
url: 'https://api.inboxapp.com/n/'+namespaceResults['id']+'/threads?tag=unread',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
method: 'GET',
username: apiToken,
success: function(threadsResults){
    console.log(threadsResults);
}
});