weixin_33670786 2015-10-10 01:57 采纳率: 0%
浏览 219

如何将CURL转换为$ .Ajax?

我正在使用Spotify API,示例代码给了我一个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: application/json" --data "{\"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");
        }
    });
}
  • 写回答

1条回答 默认 最新

  • weixin_33682790 2015-10-10 02:32
    关注

    Need to stringify the data if sending as application/json. $.ajax won't do that for you

    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");
        }
    });
    

    Also no need to create a new XMLHttpRequest(). That's what $.ajax is already doing

    评论

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)