这是我使用javascript的第一周,我正在尝试访问需要通过帖子请求进行身份验证的API。帖子工作正常,但我无法弄清楚如何使用get请求发送cookie。
EDIT2:
我将成功功能更改为:
success: function(data, status, xhr);
跟随文档稍微靠近一点。从console.log(data,status,xhr)返回以下内容:
对象{readyState:4,responseText:“{”value“:{”publisher“:{”active“:”1“,”publisher_id“:”######“}}}”,responseJSON:对象,状态:201,statusText:“已创建”}
也许这可以为那些人澄清事情?
到目前为止,这是我的代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery-2.1.4.min.js"></script>
<script>
$(function() {
$.ajax({
url: "https://publisher-api.com/1.0/Publisher/Login",
type:"POST",
data: {"username":"######","password":"@@@@@@"},
dataType: "json",
success: function(response) {
console.log(response);
}
});
$.ajax({
url: "https://publisher-api.com/1.0/Publisher(######)/Channels/RevenueReport",
type: "GET",
dataType: "json",
success: function(data) {
console.log(data);
}
});
});
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:0)
试试这个:
$.ajax({
url: "https://publisher-api.com/1.0/Publisher(######)/Channels/RevenueReport",
type: "GET",
dataType: "json",
xhrFields: {
withCredentials: true
},
success: function(data) {
console.log(data);
}
});
答案 1 :(得分:0)
问题是ajax调用是异步的,因此第一个调用仍然在等待响应,第二个调用也已经开始了。
如果我理解你想做什么(用帖子获取cookie,然后在获取中使用cookie),你将需要嵌套ajax调用。所以
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery-2.1.4.min.js"></script>
<script>
$(function() {
$.ajax({
url: "https://publisher-api.com/1.0/Publisher/Login",
type:"POST",
data: {"username":"######","password":"@@@@@@"},
dataType: "json",
success: function(response) {
$.ajax({
url: "https://publisher-api.com/1.0/Publisher("+ response.cookie +")/Channels/RevenueReport",
type: "GET",
dataType: "json",
success: function(data) {
console.log(data);
}
});
}
});
});
</script>
</head>
<body>
</body>
</html>
假设第一个ajax调用的响应包含cookie。