2017-09-06 128 views
0

我有一個我需要使用的API,但我不確定如何通過AJAX輸入我的curl命令。任何幫助,將不勝感激。將curl命令轉換爲AJAX

我curl命令:curl -H 「Authorization: Token #{auth_token}」 -X GET http://localhost:3000/api/v1/baskets/

AJAX到目前爲止:

$.ajax({ 
    url: "http://localhost:3000/api/v1/baskets/", 
    type: 'POST', 
    dataType: 'json', 
    contentType: 'application/json', 
    processData: false, 
    success: function (data) { 
     alert(JSON.stringify(data)); 
    }, 
    error: function(){ 
     alert("Cannot get data"); 
    } 
}); 

UPDATE:問題1是固定的。除了最後一次API調用之外,我能夠做出類似的方法來獲得我需要的結果。除了網站之外,我無法在-d之後獲取所有內容。 curl命令:curl -H 「Authorization: Token #{auth_token}」 -X GET -d ‘basket_id=#{basket_id}&price=#{price}&title=#{title}&merchant_url=#{merchant_url}&comment=#{comment}&product_url=#{product_url}&merchant_name=#{merchant_name}&color=#{color}&size=#{size}&product_image_url=#{product_image_url}’ http://localhost:3000/api/v1/baskets/add

AJAX至今:

 $.ajax({ 
    url: "http://localhost:3000/api/v1/baskets/add", 
    type: 'GET', 
    processData: false, 
    headers: { 'Authorization' : giftibly_token_string }, 
    data: {"basket_id": "2", "title" : "Hello There", "merchant_name" : "Target", "merchant_URL" : "http://test.com", "product_url" : "http://test.com/product" }, 
    success: function (data) { 
     window.response = JSON.stringify(data); 
     console.log(response); 
    }, 
    error: function(){ 
    console.log("Cannot get data"); 
    } 
}); 

瀏覽器結果:{"response":"Missing attributes: Basket ID, Title, Merchant Name, Merchant URL, Product URL"}

回答

1

這應該工作

$.ajax({ 
    url: "http://localhost:3000/api/v1/baskets/", 
    type: 'GET', 
    processData: false, 
    headers: { 'Authorization' : 'Token #{auth_token}' }, 
    success: function (data) { 
     alert(JSON.stringify(data)); 
    }, 
    error: function(){ 
     alert("Cannot get data"); 
    } 
}); 
+0

有我的回答和你之間沒有什麼區別。 –

+0

方法不同。 curl使用GET而不是POST。 –

+0

GET工作。謝謝你們倆! – Dtrav