Jquery 将CURL转换为$.Ajax
我使用的是SpotifyAPI,示例代码给了我一个curl请求。我试图将其转换为ajax请求,但遇到了一些问题 curl代码:Jquery 将CURL转换为$.Ajax,jquery,ruby-on-rails,ajax,curl,spotify,Jquery,Ruby On Rails,Ajax,Curl,Spotify,我使用的是SpotifyAPI,示例代码给了我一个curl请求。我试图将其转换为ajax请求,但遇到了一些问题 curl代码: curl -X POST "https://api.spotify.com/v1/users/12166097089/playlists" -H "Accept: application/json" -H "Authorization: Bearer <super long encryption string>" -H "Content-Type: appl
curl -X POST "https://api.spotify.com/v1/users/12166097089/playlists" -H "Accept: application/json" -H "Authorization: Bearer <super long encryption string>" -H "Content-Type: application/json" --data "{\"name\":\"NewPlaylist\",\"public\":false}"
curl-X POST”https://api.spotify.com/v1/users/12166097089/playlists“-H”Accept:application/json“-H”Authorization:Bearer“-H”内容类型:application/json”--数据“{\'name\:\'NewPlaylist\”,\'public\':false}”
我尝试的AJAX:
function create_playlist(user, hash) {
xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
console.log(xhr.responseText);
}
};
$.ajax({
url:'https://api.spotify.com/v1/users/' + user + '/playlists',
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ' + '<same super long string>');
xhr.setRequestHeader('Accept-Language', 'en_US');
},
type: 'POST',
contentType: 'application/json',
data: {
"name":"Temp Playlist",
"public": false
},
dataType: 'JSON',
success: function (response) {
console.log(response);
},
error: function() {
alert("it failed");
}
});
}
函数创建播放列表(用户、散列){
xhr=newXMLHttpRequest();
xhr.onreadystatechange=函数(){
如果(xhr.readyState==4&&xhr.status==200){
console.log(xhr.responseText);
}
};
$.ajax({
网址:'https://api.spotify.com/v1/users/“+用户+”/播放列表”,
发送前:函数(xhr){
setRequestHeader('Authorization','Bearer'+'');
setRequestHeader('Accept-Language','en_-US');
},
键入:“POST”,
contentType:'应用程序/json',
数据:{
“名称”:“临时播放列表”,
“公众”:虚假
},
数据类型:“JSON”,
成功:功能(响应){
控制台日志(响应);
},
错误:函数(){
警报(“它失败”);
}
});
}
如果作为应用程序/json
发送,则需要对数据进行字符串化。ajax不会为您这样做
var dataObj = {
"name":"Temp Playlist",
"public": false
}
$.ajax({
......
data: JSON.stringify(dataObj),
dataType: 'JSON',
success: function (response) {
console.log(response);
},
error: function() {
alert("it failed");
}
});
也无需创建
新的XMLHttpRequest()
。这就是$。ajax
已经在做的事情如果以application/json
$的形式发送,则需要对数据进行字符串化。ajax不会为您这样做
var dataObj = {
"name":"Temp Playlist",
"public": false
}
$.ajax({
......
data: JSON.stringify(dataObj),
dataType: 'JSON',
success: function (response) {
console.log(response);
},
error: function() {
alert("it failed");
}
});
也无需创建
新的XMLHttpRequest()
。这就是$。ajax
已经在做的事情如果以application/json
$的形式发送,则需要对数据进行字符串化。ajax不会为您这样做
var dataObj = {
"name":"Temp Playlist",
"public": false
}
$.ajax({
......
data: JSON.stringify(dataObj),
dataType: 'JSON',
success: function (response) {
console.log(response);
},
error: function() {
alert("it failed");
}
});
也无需创建
新的XMLHttpRequest()
。这就是$。ajax
已经在做的事情如果以application/json
$的形式发送,则需要对数据进行字符串化。ajax不会为您这样做
var dataObj = {
"name":"Temp Playlist",
"public": false
}
$.ajax({
......
data: JSON.stringify(dataObj),
dataType: 'JSON',
success: function (response) {
console.log(response);
},
error: function() {
alert("it failed");
}
});
也无需创建
新的XMLHttpRequest()
。这就是$.ajax
已经在做的事情。ajax返回什么?它应该返回一个JSON对象ajax返回什么?它应该返回一个JSON对象ajax返回什么?它应该返回一个JSON对象ajax返回什么?它应该返回一个JSON对象如果我不需要XMLHttpRequest,如何发送授权标头?与您的发送方式相同,beforeSend
中的xhr
参数与您在$ajax
之前创建的对象不同。该函数创建一个闭包。API中还有一个标题
选项,没关系,你是对的,我不需要对象,我可以使用xhr!非常感谢你。成功了!如果我不需要XMLHttpRequest,我如何发送授权头?与您的发送方式相同,beforeSend
中的xhr
参数与您在$ajax
之前创建的对象不同。该函数创建一个闭包。API中还有一个标题
选项,没关系,你是对的,我不需要对象,我可以使用xhr!非常感谢你。成功了!如果我不需要XMLHttpRequest,我如何发送授权头?与您的发送方式相同,beforeSend
中的xhr
参数与您在$ajax
之前创建的对象不同。该函数创建一个闭包。API中还有一个标题
选项,没关系,你是对的,我不需要对象,我可以使用xhr!非常感谢你。成功了!如果我不需要XMLHttpRequest,我如何发送授权头?与您的发送方式相同,beforeSend
中的xhr
参数与您在$ajax
之前创建的对象不同。该函数创建一个闭包。API中还有一个标题
选项,没关系,你是对的,我不需要对象,我可以使用xhr!非常感谢你。成功了!