2016-08-22 59 views
0

我嘗試聯繫宜家Api以訪問可用性檢查程序。如果我想要ajax文件,它不會返回任何內容,並調用.fail函數。AJAX無法加載XML

$('#availability').submit(function (event) { 
let productNumber = $('#productId').val(); 

if (testString(productNumber, '^[0-9]{3}\.[0-9]{3}\.[0-9]{2}$')) { 
    productNumber = productNumber.replace(/\./g, ''); 
    let target = 'http://ikea.com/de/de/iows/catalog/availability/' + productNumber; 

    $.ajax({ 
     url: target, 
     cache: false, 
     dataType: 'xml' 
    }) 
     .done(function (data) { 
      console.log('succes'); 

     }) 
     .fail(function (x) { 
      console.log(x); 
     }); 
} 

event.preventDefault(); 

});

+0

是不是數據類型: '文本/ XML'? – mtizziani

+0

這不會改變一件事情。 – Lelsoos

+1

「不起作用」......這是什麼意思?你有錯誤嗎?沒有任何回報?堆棧溢出不支持宜家的API ... –

回答

0

你不會看到任何結果,因爲你的請求被阻止(這裏是我在控制檯中看到的錯誤):

XMLHttpRequest進行http://ikea.com/de/de/iows/catalog/availability/00122822/需要跨源資源共享(CORS)。

重定向被封鎖CORS請求

有StackOverflow的中相關的CORS錯誤幾個環節。顯然,這是瀏覽器中的安全設置,關閉它是不安全的。

我發現這個鏈接,提出了一種解決辦法: https://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/