2017-03-18 51 views
1

我试图创建一个使用AJAX从JQuery的一个GitHub的库一个Git中心库,但它不工作,我的代码是在这里:创建使用Ajax JQuery的工作不

$.ajax({ 

    url: "https://api.github.com/my-user/repos", 
    headers: { 'Authorization' : 'token my-token' }, 
    method: 'POST', 
    data:{ 
     "name": "new-repos", 
     "description" : "New-repos", 
     "auto_init": true, 
     "private": false, 

    }, 
    dataType: 'json', 
    contentType: 'application/json', 
    processData: false, 
    success: function (data, textStatus, request) { 
    var html_content_header = ""; 
    var obj_header=request.getAllResponseHeaders(); 

    $('#header').html(JSON.stringify(request.getAllResponseHeaders())); 


var html_content_text = ""; 
    Object.getOwnPropertyNames(data).forEach(
    function (val, idx, array) { 
    html_content_text=html_content_text+val + ' -> ' + data[val]+ '<br>'; 
    } 
); 
    $('#text').html(html_content_text); 
    }, 
    error: function(xhr, status, error) { 

    alert(xhr.status); 
} 
}); 

这表明此错误在控制台:

POST https://api.github.com/my-user/repos 404(未找到)

在我的错误警报:

我跟着由入门GitHub上https://developer.github.com/guides/getting-started/指导,但不是使用卷曲,我用AJAX从JQuery的

一切都很顺利,直到我试图创建一个新的存储库。 我已验证我的令牌具有正确的范围。

我有点猜测它没有找到的URL

是否有某种使用AJAX从JQuery的GitHub上限制?

我写错了的URL

回答

1

GitHub API for creating a repo

POST /user/repos 

不是 “my-user/repo

请参阅 “GitHub API AJAX POST returning 422” 为一个完整的例子:在data没有尾随 ',',并使用data: JSON.stringify

$.ajax({ 
     url: 'https://api.github.com/repos/USERNAME/REPONAME/issues', 
     type: 'POST', 
     dataType: 'json', 
     headers: { 
     Authorization: 'token MY_PERSONAL_TOKEN' 
     }, 
     data: JSON.stringify({ 
     "title": "Found a bug", 
     "description": "Bug description" 
     }), 
     success: function (response) { 
     console.log(response); 
     } 
    }); 
+0

它发送'POST https://api.github.com/user/repos 400(Bad Request)'错误,这意味着我发送了一个无效的_JSON_,那么我的_JSON_中有错误吗?或以我的_JSON_格式? –

+0

@ R.D.S。也许是数据中的最终','。见https://github.com/ammiranda/jqueryajaxhowto/blob/master/apiDocs/docs/index.md – VonC

+0

试过,仍然显示'400'错误。 –