2016-10-10 164 views
0

我是否接近成功?我試圖使用這個代碼塊是jsfiddle使用PUT請求到API,當使用www.hurl.it與相同的URL & XML,它成功,(嗚呼!),但是當我嘗試使用此代碼時,我沒有這樣的代碼運氣。AJAX api PUT請求

選擇「RUN」是jsfiddle什麼也沒有,因爲除了頁面閃爍以外什麼也沒有發生。

var url = 'https://api.example.com/v1.svc/results/modules/[moduleID]?apikey=[apikey]&source=[source]' 
 

 
var xmldata = '<ModuleResult><CourseId>JJxblllJXcw1</CourseId><UserId>XaWpNO10m-M1</UserId><Score>100</Score> <Completed>false</Completed><UpdatedAt>2030-04-30T15:36:30</UpdatedAt><Note>JIL</Note></ModuleResult>' 
 

 
$.ajax({ 
 
    url: url, 
 
    type: 'PUT', 
 
    contentType: 'application/XML', 
 
    data: xmldata, 
 
    success: function(data) { 
 
    alert('Load was performed.'); 
 
    } 
 
});

任何投入將不勝感激!

+2

定義錯誤回調並檢查錯誤。 – Crowcoder

+0

你在控制檯中看到什麼? – epascarello

回答

0

調用牆完成Cross Origin,下面顯示的簡單代理預濾器解決了我的問題。

$.ajaxPrefilter(function (options) { 
    if (options.crossDomain && jQuery.support.cors) { 
    var http = (window.location.protocol === 'http:' ? 'http:' : 'https:'); 
    options.url = http + '//cors-anywhere.herokuapp.com/' + options.url; 
    } 
}); 

注:
公共代理不爲是非常安全知,誰就控制了代理就可以看到所有的數據通過它被推動,所以確保數據不如果使用的是公共代理敏感。