Javascript Jquery ajax POST url发生更改,返回错误请求

Javascript Jquery ajax POST url发生更改,返回错误请求,javascript,jquery,ajax,spotify,Javascript,Jquery,Ajax,Spotify,我正在使用文件中的函数from向API发送POST请求,以创建新的播放列表。当我运行Spotify Playlist Creator代码时,该函数工作正常,POST请求返回一个带有新播放列表id的响应对象。但从我的代码运行时,同一POST请求返回400:Bad request 其他GET请求用户配置文件请求工作正常,因此我猜授权流是成功的,并且访问令牌是有效的 当我使用Chrome inspector时,我注意到的一件事是,在工作应用程序中,POST url是请求url:https://api.

我正在使用文件中的函数from向API发送POST请求,以创建新的播放列表。当我运行Spotify Playlist Creator代码时,该函数工作正常,POST请求返回一个带有新播放列表id的响应对象。但从我的代码运行时,同一POST请求返回400:Bad request

其他GET请求用户配置文件请求工作正常,因此我猜授权流是成功的,并且访问令牌是有效的

当我使用Chrome inspector时,我注意到的一件事是,在工作应用程序中,POST url是请求url:https://api.spotify.com/v1/users/121856107/playlists 在我的应用程序中,它是请求URL:https://api.spotify.com/v1/users/121856107/playlists?{%22name%22:%22test_播放列表%22,%22public%22:false}

在这里,url附加了数据元素。为什么会这样?有什么建议吗

下面我粘贴了在两个不同站点中表现不同的函数

更新:POST请求似乎以某种方式转换为选项。快速搜索表明,这种行为可能与同源政策有关。 如何让我的功能开始工作

function createPlaylist(username, name, callback) {
    var url = 'https://api.spotify.com/v1/users/' + username +
        '/playlists';
    $.ajax(url, {
        method: 'POST',
        data: JSON.stringify({
            'name': name,
            'public': false
        }),
        dataType: 'json',
        headers: {
            'Authorization': 'Bearer ' + g_access_token,
            'Content-Type': 'application/json'
        },
        success: function(r) {
            console.log('create playlist response', r);
            callback(r.id);
        },
        error: function(r) {
            callback(null);
        }
    });
}

您没有在本地主机上工作,对吗?有时spotify会阻止它。我正在本地主机上工作。尝试在服务器上测试它,通常spotify会阻止来自本地主机的请求。我已经更新了问题。看起来POST请求正在更改为选项。同一原产地政策。我该怎么过这关?