2015-10-19 260 views
0

我正在嘗試使用Jquery向一個名爲Cloudsight的圖像識別API發出一個Ajax POST請求。到目前爲止,我的代碼是:Jquery Ajax API錯誤:400錯誤請求

$.ajax({ 
 
    type: "POST", 
 
    url: "http://api.cloudsightapi.com/image_requests", 
 
    Authorization: "CloudSight [key]", 
 
    data: { 
 
    remote_image_url: "https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png", 
 
    locale: "en-US" 
 
    }, 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

當我嘗試運行它,我得到的錯誤:400(無效請求),我在做什麼錯?據我所看到的代碼似乎是好的...

+0

我得到了:{{error:「收到非OAuth請求」} – Hackerman

+0

您是否使用cloudscape API文檔進行過驗證,提供了所有必要的字段?我似乎無法訪問它,所以我不能確定我自己。 – hughjidette

+0

該網址可能存在問題。 – Aditya

回答

0

萬一別人看這個,管理使用此代碼來解決這個問題:

$.ajax({ 
 
    method: "POST", 
 
    url: "https://api.cloudsightapi.com/image_requests", 
 
    beforeSend: function(xhr) { 
 
    xhr.setRequestHeader("Authorization", "CloudSight [key]"); 
 
    }, 
 
    data: { 
 
    "image_request[remote_image_url]": "https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png", 
 
    "image_request[locale]": "en-US" 
 
    }, 
 
    success: function(msg) { 
 
    console.log("It worked! :D Good POST request."); 
 
    console.log(msg); 
 
    console.log(msg.token); 
 
    console.log(msg.url); 
 
    console.log(msg.responseText); 
 

 
    token = msg.token; 
 
    }, 
 
    error: function(msg) { 
 
    console.log("Sorry..."); 
 
    console.log(msg); 
 
    console.log(msg.responseText); 
 
    } 
 
});

感謝馬里奧切扎爾他與授權的幫助!

+0

你應該接受你的答案,而不是我的答案。雖然我幫了你,但並沒有爲你提供完整的答案。 –

1

你有沒有嘗試過這樣的事情?

beforeSend: function (req){ 
    req.setRequestHeader("Authorization", "CloudSight [key]"); 
}, 
+0

當我用冒號做這件事時,它給了我一個語法錯誤,但是如果我添加一個逗號(而不是正確的語法?),它會給我和以前一樣的錯誤... – teamshortcut

+0

確實是一個逗號。我會解決它。 –

+0

很高興知道,但我仍然收到400錯誤請求錯誤。任何其他想法? :/ – teamshortcut